java - 有没有一种方法可以使用方法引用进行降序排序?

标签 java java-8 method-reference

在 Java 8 中,我可以使用 lambda 或方法引用进行排序:

List<String> str = Arrays.asList("a","b","A","B");
//Lambda sort ascending
str.sort(s1, s2) -> s1.compareToIgnoreCase(s2);    

//Equivalent sort ascending with method reference 
str.sort(String::compareToIgnoreCase);

//Lambda sort descending 
str.sort(s1, s2) -> s2.compareToIgnoreCase(s1);

//Equivalent sort descending with method reference 
???????? How to do it????

有人知道吗?

最佳答案

您可以使用 Comparator#reversed

str.sort(((Comparator<String>)String::compareToIgnoreCase).reversed());

或两步

Comparator<String> comp = String::compareToIgnoreCase;
str.sort(comp.reversed());

关于java - 有没有一种方法可以使用方法引用进行降序排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28491283/

相关文章:

java - 如何使用 Java 8 Stream 扩展和重组列表列表?

java - 如何获取类中所有方法的方法引用(Java)?

java - 使用 Java 8 执行计时方法

java - 为什么invokeLater在主线程中执行?

java - Android,接受用户的值并在下一个 Activity 中显示它们

java - 如何检查列表是否已初始化,其中包含 0 个元素?

lambda - Java 8 - 如何对列表映射中的所有列表元素求和

java - Java 中的字段。字段和方法之间的区别

java - -Dhadoop.security.logger' 未被识别为内部或外部命令

Java 8 流 : iterate over Map of Lists