groupingBy

자바 8의 함수형을 이용하면 가독성 있는 한 줄의 코드로 그룹화를 구현할 수 있다. 예를 들어 고기를 포함하는 그룹, 생선을 포함하는 그룹, 나머지 그룹으로 메뉴를 그룹화할 수 있다. 팩토리 메서드 Collectors.groupingBy를 이용하자. Map dishesByType = menu.stream().collect(groupingBy(Dish::getType)); {FISH=[parawns, salmon], OTHER=[french fries, rice, season fruit, pizza], MEAT=[pork, beef, chicken]} Dish.Type과 일치하는 모든 요리를 추출하는 함수를 groupingBy 메서드로 전달. 이 함수를 기준으로 스트림이 그룹화되므로 이를 분류 함수(cla..
collect()메소드는 단순히 요소를 수집하는 기능 외 컬렉션의 요소들을 그룹핑해서 Map객체를 생성하는 기능도 제공한다. Collectors의 groupingBy() 또는 groupingByConcurrent()가 리턴하는 Collector를 매개값으로 대입하면 사용할 수 있다. groupingBy()는 Map객체를 리턴하며, groupingByConcurrent는 ConcurrentMap을 리턴한다. Collectors의 static method // With a classification function as the method parameter: // T를 K로 매핑하고, K키에 저장된 List에 T를 저장한 Map 생성 static Collector groupingBy(Function
깡냉쓰
'groupingBy' 태그의 글 목록