Поток Java для создания карты карты объектов отсортированного спискаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Поток Java для создания карты карты объектов отсортированного списка

Сообщение Anonymous »

Я работаю над проектом весенней загрузки, и у меня есть сценарий, подобный приведенному ниже.
У меня есть таблица.

Код: Выделить всё

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 |
Я обращаюсь к базе данных, получаю приведенные выше данные и загружаю объект Student, который содержит поля идентификатора, имени, категории и подкатегории.

Код: Выделить всё

List studList = studentRepo.findAll();
У меня также есть объект StudentDto, который отправляется в ответ вызывающему абоненту.
Теперь мне нужно создать 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());
});
Но, пожалуйста, помогите мне найти более эффективный способ использования потоков Java, который делает то же самое с меньшим количеством строк. Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/781 ... st-objects
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»