투케이2K

259. (java/자바) [유틸 파일] subList 사용해 array list 가변 배열 데이터 부분 데이터 반환 실시 본문

Java

259. (java/자바) [유틸 파일] subList 사용해 array list 가변 배열 데이터 부분 데이터 반환 실시

투케이2K 2022. 4. 7. 08:34

[개발 환경 설정]

개발 툴 : Eclipse

개발 언어 : Java

 

[소스 코드]

    // TODO [인풋으로 들어온 배열 데이터 중 부분 배열 데이터 반환 실시]
    public static ArrayList arraySubList(ArrayList list, int startIdx, int endIdx){

        /**
         * // -----------------------------------------
         * [arraySubList 메소드 설명]
         * // -----------------------------------------
         * 1. 인풋으로 들어온 배열 데이터 중 부분 배열 데이터 반환 실시
         * // -----------------------------------------
         * 2. 호출 방식 :
         *   ArrayList list = new ArrayList();
         *   list.add("하나");
         *   list.add("둘");
         *   list.add("셋");
         *   list.add("넷");
         *   list.add("다섯");
         *
         *   C_Util.arraySubList(list, 0, list.size()-1); // [배열 전체 데이터]
         *   C_Util.arraySubList(list, 1, 3); // [배열 부분 데이터 : 1, 2, 3 인덱스 데이터 출력]
         * // -----------------------------------------
         * 3. 리턴 데이터 : [하나, 둘, 셋, 넷, 다섯] / [둘, 셋, 넷]
         * // -----------------------------------------
         * */

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

        // [인풋 데이터 체크 수행 실시]
        if (list != null && list.size()>0
                && startIdx >= 0 && startIdx <= endIdx
                && endIdx >= 0 && endIdx >= startIdx){

            try {
                // [subList 를 사용해 배열 자르기 수행 실시]
                result = new ArrayList(list.subList(startIdx, (endIdx+1)));
            }
            catch (Exception e){
                e.printStackTrace();
            }
        }

        // [로그 출력 실시]
        ///*
        Log.i("---","---");
        Log.d("//===========//","================================================");
        Log.i("","\n"+"[C_Util >> arraySubList() :: ArrayList 부분 배열 데이터 반환 실시]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[input [list] :: "+String.valueOf(list.toString())+"]");
        Log.i("","\n"+"[input [startIdx] :: "+String.valueOf(startIdx)+"]");
        Log.i("","\n"+"[input [endIdx] :: "+String.valueOf(endIdx)+"]");
        Log.i("","\n"+"--------------------------------");
        Log.i("","\n"+"[result [length] :: "+String.valueOf(result.size())+"]");
        Log.i("","\n"+"[result [list] :: "+String.valueOf(result)+"]");
        Log.d("//===========//","================================================");
        Log.i("---","---");
        // */

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

[결과 출력]

 

 
반응형
Comments