☕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());