Mam listę takich kolorów:
Różowy, niebieski, czerwony, niebieski, szary, zielony, fioletowy, czarny ... itp
List<String> listOfColors = Arrays.asList("Pink", "Blue", "Red", "blue", "Grey", "green", "purple", "black");
Istnieje kilka operacji pośrednich, takich jak filtrowanie niektórych kolorów owoców, teraz mam filtrowane wyniki tam, gdzie chcę je posortować:
Niebieski, czarny, niebieski, szary, zielony, różowy, fioletowy, czerwony
Próbowałem :
List<String> collect = listOfColors.stream().sorted(String::compareToIgnoreCase)
.collect(Collectors.toList());
Nie działa zgodnie z oczekiwaniami.
Dane wyjściowe są następujące:
czarny, niebieski, niebieski, zielony, szary, różowy, fioletowy, czerwony
Chcę:
Niebieski, czarny, niebieski, szary, zielony, różowy, fioletowy, czerwony
a
jest wcześniej, u
więc wynik jest poprawny
[black, Blue, blue, green, Grey, Pink, purple, Red]
@ chrylis-onstrike-