根据classId进行分组结果是Map<String,List>形式
@Test
public void test5(){
Student student = new Student();
student.setId(1l);
student.setAge(10);
student.setName(“班级1”);
student.setClassId(1);
Student student1 = new Student();
student1.setId(2l);
student1.setAge(11);
student1.setName("班级1");
student1.setClassId(1);
Student student2 = new Student();
student2.setId(3l);
student2.setAge(12);
student2.setName("班级1");
student2.setClassId(1);
Student student3 = new Student();
student3.setId(4l);
student3.setAge(13);
student3.setName("班级2");
student3.setClassId(2);
List<Student> studentList = Arrays.asList(student, student1, student2, student3);
// System.out.println(studentList);
Map<Integer,List<Student>> map = Maps.newHashMap();
map.putAll(studentList.stream().collect(Collectors.groupingBy(Student::getClassId)));
System.out.println(map);
}
结果是:
{
1=[Student(id=1, age=10, name=班级1, home=null, classId=1), Student(id=2, age=11, name=班级1, home=null, classId=1), Student(id=3, age=12, name=班级1, home=null, classId=1)],
2=[Student(id=4, age=13, name=班级2, home=null, classId=2)]
}
根据其中某一个id获取Map<String,Object>
@Test
public void test1(){
Student student = new Student();
student.setId(1l);
student.setUserId(11L);
student.setAge(10);
student.setName(“班级1”);
student.setClassId(1);
Student student1 = new Student();
student1.setId(2l);
student1.setUserId(21L);
student1.setAge(11);
student1.setName("班级1");
student1.setClassId(1);
Student student2 = new Student();
student2.setId(3l);
student2.setUserId(31L);
student2.setAge(12);
student2.setName("班级1");
student2.setClassId(1);
Student student3 = new Student();
student3.setId(4l);
student3.setUserId(41L);
student3.setAge(13);
student3.setName("班级2");
student3.setClassId(8);
List<Student> studentList = Arrays.asList(student, student1, student2, student3);
Map<Long, Student> collect = studentList.stream().collect(Collectors.toMap(Student::getUserId, a -> a, (k1, k2) -> k1));
System.out.println(collect);}
结果是
{21=Student{userId=21, name=‘班级1’, age=11}, 41=Student{userId=41, name=‘班级2’, age=13}, 11=Student{userId=11, name=‘班级1’, age=10}, 31=Student{userId=31, name=‘班级1’, age=12}}