☕JAVA/🐥 알고리즘 [JAVA]

[JAVA] Integer ArrayList 에서 int 배열로 변환하기 / String ArrayList에서 String 변환하기

디카페인라떼 2022. 11. 21. 22:10

💡문제 상황

 Integer ArrayList to int 배열로 변환하기

 

💡내 풀이

[방법1]

public static void main(String args[]) {
    List<Integer> list = new ArrayList<>();
    list.add(1);
    list.add(2);
    list.add(3);
    
    int[] arr1 = new int[list.size()]
    for (int i = 0 ; i < list.size() ; i++) {
        arr1[i] = list.get(i).intValue();
	}
}

👉 반복문을 통해서 배열에 intValue로 넣어주기

 

[방법2]

    int[] arr2 = list.stream()
                .mapToInt(i -> i)
                .toArray();

👉List 를 Stream으로 변환 후 map to IntStream을 반환한 후 배열에 넣어줌.
👉map 연산 시 자바가 자동으로  각 요소의 Integer 요소를 int 형으로 언박싱

 

[방법3]

    int[] arr3 = list.stream()
                .mapToInt(Integer::intValue)
                .toArray();

👉List 를 Stream으로 변환 후 map to IntStream을 반환한 후 배열에 넣어줌.

👉map 연산 시 intValue 메서드를 통해 각 요소를 int 형으로 변환

 

[방법4]

    int[] arr4 = list.stream()
                .filter(i -> i != null)
                .mapToInt(i -> i)
                .toArray();

👉방법2에 필터를 추가함. 필터를 통해 리스트의 null을 걸러낸다.

 

참고 

https://velog.io/@deannn/Java-int%ED%98%95-ArrayList-%EB%B0%B0%EC%97%B4-%EB%B3%80%ED%99%98

 

 


💡문제 상황

String ArrayList에서 String 변환하기

💡내 풀이

String answer = list.stream()
		.map(n->String.valueOf(n))
                .collect(Collectors.joining());