java里把一个list按某个属性分组成map,并且排除该属性为空的条目,应该怎么写啊
jdk1.8可以使用Stream分组,大致这样
Map<String, List<test>> testMap = testList.stream()
.filter(p -> p.getname() != null)
.collect(Collectors.groupingBy(test::getname));
java8 可以 Collectors.toMap(x->x.get某个属性())
List<Student> students = new ArrayList<>();
Map<String, List<Student>> groupedStudents = students.stream()
.collect(Collectors.groupingBy(Student::getGrade));
Map<Long, List<Object>> map =list().stream().collect(Collectors.groupingBy(DTO::getId));