Java Stream은 Java 8 부터 추가된 컬렉션(Collection) 데이터를 처리하고 변환하는 기능을 제공하는 API
List<Integer> 를 int[] 로 변환하기
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5); // 예시 List<Integer>
int[] intArr = list.stream().mapToInt(Integer::intValue).toArray();
mapToInt(Integer::intValue)로 Integer 객체를 int로 매핑해주고
.toArray()로 요소들을 배열로 변환하여 준다.
int[] 를 List<Integer> 로 변환하기
int[] IntArr = {1, 2, 3, 4, 5}; // 예시 int[]
List<Integer> list = Arrays.stream(IntArr).boxed().collect(Collectors.toList());
Arrays 클래스의 .stream() 는 정수형 배열을 IntStream으로 변환시켜주고
.boxed() 는 IntStream의 원시타입(int)을 래퍼클래스(Integer)로 변환하여 Stream<Integer>를 생성한다.
그리고 .collect(Collectors.toList()) 는 Stream<Integer>를 List<Integer>로 변환하여 준다.
int[] 정수형 배열을 (,) 쉼표로 구분한 String 문자열로 변환하기 ex) "1,2,3,4,5,6"
int[] arr = {1, 2, 3, 4, 5, 6}; // 예시 정수형 배열
String str = Arrays.stream(arr)
.mapToObj(String::valueOf)
.collect(Collectors.joining(","));
mapToObj(String::valueOf)는 int 값을 String으로 변환해주고
Collectors.joining(",")는 각 문자열 요소를 "," 로 구분하여 하나의 문자열로 결합하여 준다.
String 문자열 "1,2,3,4,5,6" 과 같은 데이터를 int[] 정수형 배열로 변환하기
String str = "1,2,3,4,5,6";
int[] intArr = Arrays.stream(str.split(","))
.mapToInt(Integer::parseInt)
.toArray();
.split(",")를 사용하여 쉼표(,)를 구분자로 문자열을 나눈 뒤
.mapToInt(Integer::parseInt)로 문자열을 정수로 변환하고 IntStream으로 매핑함
그리고 .toArray()를 사용하여 IntStream을 int[] 배열로 변환하여 준다.
'Java' 카테고리의 다른 글
자바 스트림 Java Stream List<Integer> 합계,평균,최댓값,최솟값 구하기 (0) | 2023.04.16 |
---|---|
자바 스트림 Java Stream 두 int[] 배열의 교집합, 합집합, 차집합 구하기 (0) | 2023.04.09 |
JDK 와 JRE의 차이 (0) | 2022.05.18 |
Java toString() 메서드 (0) | 2022.03.23 |
Java Collection 자바 컬렉션 (0) | 2022.03.03 |
최근댓글