투케이2K

328. (java/자바) ArrayList 동적 배열 생성 및 데이터 순차 분배 수행 본문

Java

328. (java/자바) ArrayList 동적 배열 생성 및 데이터 순차 분배 수행

투케이2K 2023. 5. 25. 20:26

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java

 

[소스 코드]

 

        try {

            // [동적으로 생성할 배열 선언 : 숫자 범위 1 ~ 10]
            final int arrayCount = 10;


            // [동적으로 생성된 배열을 넣기 위해 result 배열 생성]
            ArrayList resultArray = new ArrayList();


            // [배열에 분할해서 담기 위한 변수 선언]
            int data = 255;


            // [동적으로 배열 생성 수행]
            for (int i=1; i<=arrayCount; i++){

                ArrayList child = new ArrayList();
                resultArray.add(child);
            }


            // [데이터 분할해서 각 배열에 삽입 수행]
            for (int i=1; i<=data; i++){

                // int to string 변환
                String charData = String.valueOf(i);
                
                // 분할 기준에 맞게 데이터 파싱 수행
                String countData = String.valueOf(arrayCount);
                charData = String.valueOf(charData.charAt(charData.length()-1)); // 마지막 글자 파싱

                int intData = Integer.parseInt(charData);


                // 나누기 계산해서 각 배열에 삽입 수행 
                for (int j=arrayCount; 1<=j; j--){ // 10 ~ 1 배수 까지 나누기 체크

                    if (intData%j == 0){ // 해당 값으로 나누어 떨어지는 경우

                        ArrayList reArray = new ArrayList();
                        reArray.addAll((ArrayList) resultArray.get(j-1));

                        reArray.add(i);

                        resultArray.set(j-1, reArray);

                        break;
                    }

                }

            }


            // [로그 출력]
            S_Log._W_("로그 출력 수행", new String[]{
                    "Size :: " + resultArray.size(),
                    "Array :: " + new Gson().newBuilder().setPrettyPrinting().create().toJson(resultArray)
            });

        }
        catch (Exception e){
            e.printStackTrace();
        }

[결과 출력]

 

W///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.A_Intro.onCreate(A_Intro.java:398)]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 로그 출력 수행]
I/: ----------------------------------------------------
I/: [LOG :: Size :: 10]
I/: ----------------------------------------------------
I/: [LOG :: Array :: [ ..... ]
W///===========//: ================================================

 

반응형
Comments