У меня есть таблица.
Код: Выделить всё
id | name | category | sub_category |
-----------------------------------------
1 | stud1| science | physics |
2 | stud2| science | maths |
3 | stud3| arts | commerce |
4 | stud4| statistics| computer_science |
5 | stud5| statistics| computer_science |
Код: Выделить всё
List studList = studentRepo.findAll();
Теперь мне нужно создать Map, и список должен быть отсортирован по имени студента.
Я пытаюсь использовать,
Код: Выделить всё
Map categoryMap = new HashMap();
var studentList = studentRepo.findAll();
studentList.stream().foreach(student -> {
if (categoryMap.get(student.getCategory()) == null) {
categoryMap.put(student.getCategory(), new HashMap);
}
if (categoryMap.get(student.getCategory()).get(student.getSubCategory()) == null) {
categoryMap.get(student.getCategory()).put(student.getSubCategory(), new ArrayList);
}
categoryMap.get(student.getCategory()).get(student.getSubCategory()).add(new StudentDto.builder().name(studenr.getName).build());
});
Подробнее здесь: https://stackoverflow.com/questions/781 ... st-objects
Мобильная версия