java - 用于对 Java 集合(List、Set)进行排序的通用比较器

标签 java generics collections comparator

我需要一些通用比较器,它可以接受 List 或 Set 的实例作为参数,以及排序方向参数(ASC、DESC),然后返回排序后的集合。我似乎无法在互联网上找到这个例子,而且非常匆忙。我知道我没有以适当的方式提问,因为我没有任何代码可以开始,但我很着急。集合将包含实现可比较和日期的对象。

非常感谢任何示例和实现。 谢谢。

最佳答案

Collections 类有一个 reverseOrder 方法,它返回一个通用类型 T 的比较器,它应该满足您对 DESC 比较器的要求。如果您将 Collection 传递给 Collections.sort() 方法,它会自动使用 ASC 排序。

此外,对于以无序方式维护“唯一”元素的“集合”而言,“排序”意义不大(我的意思是您可以使用 TreeSet 来排序集合,但是那是一个不同的故事)。一个简单的解决方法是从 Set 中创建一个 List 并将其传递给 Collections.sort

关于java - 用于对 Java 集合(List、Set)进行排序的通用比较器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6907681/

相关文章:

java - 过滤文档子字段中的mongodb游标

java - Spring 社交 Facebook 登录 - 抱歉,出了点问题

java - Json数据如何使用Jsp传入DataTable

java - 定义 'Set set = new HashSet()' 时,设置为接口(interface)或类 Set 的实例?

java - collections.sort 方法仅用于 List 类型的集合吗?

Java 类路径通配符在没有引号的情况下不起作用

java - map <字符串,? super Number> 用于添加和 Map<String, ?用于打印的扩展 Number> 会产生错误

java - 我正在为 Java Stream 中的泛型而苦苦挣扎

python - 集合双端队列构造函数

c# - 为什么这种泛型场景会导致 TypeLoadException?