初始数据ListAnimalList=Lists.newArrayList(newAnimal(“dog”,6),
newAnimal(“dog”,6),
newAnimal(“cat”,7),newAnimal(“cat”,7),
newAnimal(“cat”,7),newAnimal(“pig”,8));
1)计数Mapmap=AnimalList.stream().
collect(Collectors.groupingBy(Animal::getName,Collectors.counting()));
输出结果:{cat=3, dog=2, pig=1}
- 排序(逆序)map.entrySet().stream().sorted(Map.Entry.comparingByValue().reversed())
.forEachOrdered(System.out::println);
3)累加求和MapsumMap=AnimalList.stream().collect.
(Collectors.groupingBy(Animal::getName,Collectors.summingInt(Animal::getPrice)));
输出结果是:{cat=21, dog=12, pig=8}
- 分组:Map>groupMap=
AnimalList.stream().collect(Collectors.groupingBy(Animal::getName,
Collectors.mapping(Animal::getPrice,Collectors.toList())));