班级 学科相同,姓名不同分组
时间: 2023-08-23 07:19:44 浏览: 129
班级规模对跨学科课程和教授评价的影响-研究论文
可以使用Java 8的Stream API中的groupingBy方法结合mapping方法来实现按照班级和学科分组,示例代码如下:
```
List<Student> studentList = ... // 假设已经初始化了一个Student列表
Map<String, Map<String, List<String>>> groupedByClassAndSubject = studentList.stream()
.collect(Collectors.groupingBy(Student::getClass,
Collectors.groupingBy(Student::getSubject,
Collectors.mapping(Student::getName, Collectors.toList()))));
```
上述代码中,groupedByClassAndSubject就是一个Map对象,key为班级,value为另一个Map对象,key为学科,value为该班级该学科对应的所有学生的姓名列表。需要注意的是,上述代码中的Student类需要有getClass、getSubject、getName三个方法来获取班级、学科和姓名。
阅读全文