- Collectors.groupingBy()根据某个字段分组转成list
- 输出结果
`package java8;
import Dto.Student;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class GroupByDemo {
public static void main(String[] args) {
Student student = new Student();
student.setCode(“123”);
student.setName(“xiongchao”);
student.setAge(27);
Student student1 = new Student();
student1.setCode("123");
student1.setName("zhangsan");
student1.setAge(28);
Student student2 = new Student();
student2.setCode("124");
student2.setName("xiongchao2");
student2.setAge(29);
Student student3 = new Student();
student3.setCode("125");
student3.setName("xiongchao3");
student3.setAge(30);
Student student4 = new Student();
student4.setCode("125");
student4.setName("xiongchao3");
student4.setAge(31);
List list = new ArrayList(){
{
add(student);
add(student1);
add(student2);
add(student3);
add(student4);
}
};
Map> map = list.stream().collect(Collectors.groupingBy(
Student::getCode, HashMap::new,Collectors.toList()));
for(Map.Entry> entry:map.entrySet()){
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
}
}
`
123
[Student{name=‘xiongchao’, age=27, code=‘123’}, Student{name=‘zhangsan’, age=28, code=‘123’}]
124
[Student{name=‘xiongchao2’, age=29, code=‘124’}]
125
[Student{name=‘xiongchao3’, age=30, code=‘125’}, Student{name=‘xiongchao3’, age=31, code=‘125’}]



