Java 8 에서 Collection 다루기

Java 8 문법의 가장 큰 변화는 람다라고 볼 수 있다. 람다를 이용하면 컬렉션의 각 요소들을 쉽게 다룰 수 있다.

컬렉션에 람다를 이용하기 위해 스트림이라는 인터페이스가 추가되었다. 컬렉션을 스트림으로 변환하기 위해 Collection 인터페이스의 stream() 이라는 메소드가 추가되었다.

스트림으로 변환 후 요소들을 다루는 메소드들로 변형을 한 뒤 다시 컬렉션으로 변환해주면 된다. Stream 인터페이스의 collect() 메소드를 사용하여 스트림에서 켈력션으로 변환한다. collect() 메소드의 인자로는 결과가 수집될 방법을 정의하는 Collector 객체를 넣는다.

위 과정을 코드로 나타내었다.

1
2
3
4
5
6
List<String> result = Arrays.asList("Larry", "Moe", "Curly")
.stream()
.map(s -> "Hello " + s)
.collect(Collectors.toList());
// result will be a List<String> containing "Hello Larry", "Hello Moe" and "Hello Curly"
Share Comments