List<Person> list = new ArrayList<>();
Person person = new Person();
p.setName("何");
p.setAge(21);
list .add(person);
p = new Person();
p.setName("王");
p.setAge(30);
list .add(person );
p = new Person();
p.setName("周");
p.setAge(15);
list .add(person );
p = new Person();
p.setName("周");
p.setAge(17);
list .add(person );
//按姓进行分组
Map<String, List<Person>> collect = list.stream()
.collect(Collectors.groupingBy(Person::getName,Collectors.toList()));
解决顺序错误的问题:
Map<String, List<Person>> collect = list.stream()
.collect(Collectors.groupingBy(Person::getName,**LinkedHashMap**::new,Collectors.toList()));
按照年龄升序排序:
Map<String, List<Person>> collect = list.stream()
.collect(Collectors.groupingBy(Person::getAge,**TreeMap**::new,Collectors.toList()));//TreeMap默认以升序排序