ฉันมีรายการสีดังนี้:
ชมพู, ฟ้า, แดง, น้ำเงิน, เทา, เขียว, ม่วง, ดำ ... ฯลฯ
List<String> listOfColors = Arrays.asList("Pink", "Blue", "Red", "blue", "Grey", "green", "purple", "black");
มีการดำเนินการระดับกลางบางอย่างเช่นการกรองสีผลไม้ตอนนี้ฉันเหลือผลลัพธ์การกรองที่ฉันต้องการเรียงลำดับ:
สีน้ำเงิน, ดำ, น้ำเงิน, เทา, เขียว, ชมพู, ม่วง, แดง
ฉันเหนื่อย :
List<String> collect = listOfColors.stream().sorted(String::compareToIgnoreCase)
.collect(Collectors.toList());
มันไม่ทำงานตามที่คาดไว้
ผลลัพธ์มีดังต่อไปนี้:
ดำ, น้ำเงิน, น้ำเงิน, เขียว, เทา, ชมพู, ม่วง, แดง
ฉันต้องการสิ่งต่อไปนี้:
สีน้ำเงิน, ดำ, น้ำเงิน, เทา, เขียว, ชมพู, ม่วง, แดง
a
ก่อนหน้านี้u
ดังนั้นผลลัพธ์จึงถูกต้อง
[black, Blue, blue, green, Grey, Pink, purple, Red]
@ chrylis-onstrike-