代码演示
List<Student> students = new ArrayList<>();
Student student1 = new Student();
student1.setAge(18);
student1.setName("赵");
student1.setSex("男");
Student student2 = new Student();
student2.setAge(19);
student2.setName("钱");
student2.setSex("女");
Student student3 = new Student();
student3.setAge(20);
student3.setName("孙");
student3.setSex("女");
Collections.addAll(students,student1,student2,student3);
//根据学生性别分组
Map<String, List<Student>> map = students.stream().collect(Collectors.groupingBy(Student::getSex));
for (Map.Entry<String, List<Student>> m:map.entrySet()) {
System.out.println("key="+m.getKey());
System.out.println("value="+m.getValue());
}
执行结果
根据key获取数据
//根据学生性别分组
Map<String, List<Student>> map = students.stream().collect(Collectors.groupingBy(Student::getSex));
//获取所有的女生
System.out.println(map.get("女"));
执行结果