와지도 결과 자바 8 개 스트림 및 채우기 사용하여 항목의 목록 그룹화 : 나는 항목과 I의 목록을 주어 졌어나는 다음 클래스에 의해 정의 된 항목이 첫 번째 항목이 아닌 목록
public class Item {
private int id;
private float price;
}
을 그룹을 id으로 그룹화해야합니다. 일단 그룹화, 나는 목록은 오직 각 ID에 대해 하나의 값이 포함됩니다 알고, 그래서 다음과 같이 나는 결과지도 정의 할 :
Map<Integer, Item>
보다는 :
Map<Integer, List<Item>>
의 장점
mapName.get (ID) 갔지 (0)
이 내 호출 코드가 추가 역 참조를 수행 할 필요가 없습니다 것입니다
Map<Integer, List<Item>> itemsMap = itemList.stream()
.collect(Collectors.groupingBy(Item::getId));
내 원하는 결과를 달성하기 위해 자바 8 방법이 있나요 : 목록이 포함 된지도 코드 의지 그룹 ID로 다음 항목을 만들?
좋은 지적. 나는 IDE의 기능을 미래에 의심이가는 경우 사용합니다. – gsdev
OP가 단 하나의 항목 만 있다고 주장 할 때'(a, b) -> b '와 같은 병합 함수를 사용하지 않을 것입니다. 어쨌든 병합 함수를 지정하지 말고 어서션이 유지되지 않을 때 던져 버리거나 * (*, * b) -> a를 지정하여 마지막 * 목… – Holger