Fork me on GitHub

java8中关于集合类stream()方法的使用

一、关于Collectors.groupingBy

  1. 使用list子元素中某个属性分类,形成map,其key为此属性,value值为此属性值下的list集合。

    List<Person> persons = personMapper.selectList();
    Map<String,List<Person>> map = persons.stream().collect(Collectors.groupingBy(Person::getFirstName));
    
  2. 使用list子元素中某个属性分类,根据另一个属性计算总数,形成map,其key为分类属性,value值为另一个属性的总和计算值

    Map<String, Long> collect = persons.stream().collect(Collectors.groupingBy(Person::getFirstName, Collectors.summingLong(Person::getAge)));
    
posted @ 2020-12-01 09:48  ayueC  阅读(63)  评论(0)    收藏  举报