Open DeveloperYard opened 1 year ago
Interface Collector<T, A, R>
Class Collectors
stream().collect(joining(", ")
등의 방식) users.stream().collect(
groupingBy(User::getPosition,
groupingBy(User::getDepartment)));
위의 코드는 아래와 같이 바깥의 직책(position)별로 그룹화를 한 후, 안쪽의 부서(department)별로 그룹화를 한 결과를 갖게 된다.
{
MANAGER={RND=[tony], QA=[alex], HR=[oliveia]},
STAFF={RND=[elsa, mayya], QA=[lily, jacob], HR=[jace]},
CEO={MANAGEMENT=[eric]}
}
Collectors.toList() 같은 메서드의 경우 반환형이 <T> Collector<T,?,List<T>>
이기에 stream.collect()에 매개변수로 줄 수 있습니다.
차이만을 설명하긴 힘들 것 같아 각각 정리를 조금 해 보았습니다.
문제
Collect, Collectors의 정확한 차이는?
contents
이 두 가지는 항상 헷갈렸던 것이어서 정확히 정리를 하고 넘어가고 싶습니다.
참고
200p