투케이2K

264. (java/자바) [유틸 파일] ArrayList 배열 데이터 교집합 수행 실시 본문

Java

264. (java/자바) [유틸 파일] ArrayList 배열 데이터 교집합 수행 실시

투케이2K 2022. 4. 26. 15:54

[개발 환경 설정]

개발 툴 : Eclipse

개발 언어 : Java

 

[소스 코드]

    // TODO [ArrayList 배열 데이터 교집합 수행 실시]
    public static ArrayList arrayIntersect(ArrayList array_1, ArrayList array_2){

        /**
         * // -----------------------------------------
         * [arrayIntersect 메소드 설명]
         * // -----------------------------------------
         * 1. ArrayList 배열 데이터 교집합 수행 실시
         * // -----------------------------------------
         * 2. 호출 방식 :
         *   ArrayList list_1 = new ArrayList();
         *   list_1.add("하나");
         *   list_1.add("둘");
         *   list_1.add("셋");
         *
         *   ArrayList list_2 = new ArrayList();
         *   list_2.add("둘");
         *   list_2.add("셋");
         *   list_2.add("넷");
         *
         *   C_Util.arrayIntersect(list_1, list_2);
         * // -----------------------------------------
         * 3. 리턴 데이터 : [둘, 셋]
         * // -----------------------------------------
         * */

        // [리턴 데이터 변수 선언 실시]
        ArrayList result = new ArrayList();

        // [원본 데이터 저장]
        ArrayList original = new ArrayList();

        // [인풋 데이터 체크 수행 실시]
        if (array_1 != null && array_1.size()>0 && array_1.isEmpty() == false
                && array_2 != null && array_2.size()>0 && array_2.isEmpty() == false){

            try {
                // [원본 데이터 저장 실시]
                original = new ArrayList(array_1);

                // [retainAll 사용해 배열 데이터 교집합 실시]
                array_1.retainAll(array_2);
                result = new ArrayList(array_1);
            }
            catch (Exception e){
                e.printStackTrace();
            }
        }

        // [로그 출력 실시]
        ///*
        Log.i("---","---");
        Log.d("//===========//","================================================");
        Log.i("","\n"+"[C_Util >> arrayIntersect() :: ArrayList 배열 데이터 교집합 수행 실시]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[input [array_1] :: "+String.valueOf(original)+"]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[input [array_2] :: "+String.valueOf(array_2)+"]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[result :: "+String.valueOf(result)+"]");
        Log.d("//===========//","================================================");
        Log.i("---","---");
        // */

        // [리턴 데이터 반환 실시]
        return result;
    }
 

[결과 출력]

 

 

반응형
Comments