[java] 람다 표현식을 사용하여 스트림을 어떻게 매핑할 수 있나요?
자바에서 람다 표현식과 스트림을 이용하면 데이터를 변환하고 가공할 수 있습니다.
여기에는 두 가지 종류의 매핑이 있습니다: 원시 타입을 객체로 매핑하거나 스트림의 각 요소를 변환하는 매핑입니다.
원시 타입을 객체로 매핑하기
원시 타입의 스트림을 객체의 스트림으로 매핑하려면 mapToObj()
메서드를 사용합니다.
IntStream.of(1, 2, 3, 4, 5)
.mapToObj(i -> "Number " + i)
.forEach(System.out::println);
이 예제에서 mapToObj
메서드는 각 숫자를 “Number {숫자}” 형태의 문자열로 매핑합니다.
요소 변환 매핑하기
map()
메서드를 사용하여 스트림의 각 요소를 변환할 수 있습니다.
List<String> names = List.of("Alice", "Bob", "Charlie");
List<String> upperCaseNames = names.stream()
.map(String::toUpperCase)
.collect(Collectors.toList());
이 예제에서 map
메서드는 각 이름을 대문자로 변환합니다.
요약
람다 표현식을 사용하여 스트림을 매핑하기 위해 map()
과 mapToObj()
메서드를 사용할 수 있습니다. 이를 통해 데이터를 가공하고 변환하는 과정을 간편하게 할 수 있습니다.
관련 자료: The Java Tutorials - Processing Data with Streams