Задать вопрос
@evgenyt2000

Почему не работает сортировка StreamApi?

Добрый день !
Не работает сортировка
List<String> expectedOrderedByAscList = actualOrderedByAscList
                .stream()
                .sorted(Comparator.naturalOrder())
                .collect(Collectors.toList());


Этот вариант не корректен так как есть проблема со случаями,типа ааа ааb
Идёт по первой букве

У второго
List<String> expectedOrderedByAscList = actualOrderedByAscList
                    .stream()
                    .sorted((String s1,String s2)->{ return s1.compareTo(s2);})
                    .collect(Collectors.toList());


Он чтото не работает....
Если кто может подсказать/сказать в чём проблема ,тому спасибо!Большое

Возможно проблема тут
Использование list.sort(String::compareTo) или list.sort(Comparator.naturalOrder()) даст неверный (т. е. не алфавитные) результаты. Он будет сортировать любую букву верхнего регистра перед всеми строчными буквами, поэтому массив ["aAAA","Zzz", "zzz"] сортируется до ["Zzz", "aAAA", "zzz"]
  • Вопрос задан
  • 130 просмотров
Подписаться 1 Простой 5 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы