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[] 배열로 변환하여 준다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기