вернуть список, отсортированный по количеству, а для одинакового количества, по артикулу, без учета регистра
Мне нужно в методе, вернуть список объектов, отсортированных по параметру "количество"(available), если параметр "количество" одинаков для нескольких объектов списка, - провести сортировку по параметру "артикул"(number), без учёта регистра. Метод с уже проведённой сортировкой по параметру количество.
public List<Goods> sortByAvailabilityAndNumber() {
List<Goods> result = list.stream()
.sorted(Comparator.comparingInt(e -> e.available))
.collect(Collectors.toList());//
return result;
}
Ответы (1 шт):
Автор решения: Roman Konoval
→ Ссылка
Вам нужно воспользоваться методами построения компараторов для лексикографического сравнения для нескольких компараторов:
public List<Goods> sortByAvailabilityAndNumber() {
List<Goods> result = list.stream()
.sorted(Comparator.comparingInt(e -> e.available)
.thenComparing(e -> e.number.toLowerCase()))
.collect(Collectors.toList());//
return result;
}