알고리즘

[자바] - List to int 배열 (Stream) , List to String[]

경딩 2024. 8. 8. 13:37

List to String[]

 

// 1. toArray() 배열 선언과 동시에 할당
List<String> arr = new ArrayList<String>();
        arr.add("a");
        arr.add("b");
        arr.add("c");
        String[] answer = arr.toArray(new String[0]);
        System.out.println(Arrays.toString(answer)); // [a, b, c]
        
        
// 2. toArray() 배열 선언 후 할당
List<String> arr = new ArrayList<String>();
        arr.add("a");
        arr.add("b");
        arr.add("c");
        String[] answer = new String[arr.size()];
        arr.toArray(answer);
        System.out.println(Arrays.toString(answer)); // [a, b, c]

 

List to int[] (for 문을 활용)

        ArrayList<Integer> arr = new ArrayList<>();
        for(int j=0; j<3; j++){
           if(max == cnt[j]){
               arr.add(j+1);
           }
        }
        int[] answer = new int[arr.size()];
        int idx = 0;
        for(int i=0; i< arr.size(); i++){
            answer[idx++] = arr.get(i);
        }

 

 

Stream 활용

        ArrayList<Integer> arr = new ArrayList<>();
        for(int j=0; j<3; j++){
           if(max == cnt[j]){
               arr.add(j+1);
           }
        }
        int answer[] = arr.stream().mapToInt(i->i.intValue()).toArray();
        //   arr.stream().mapToInt(Integer :: intValue).toArray();동일하게 동작