我想在排序列表时合并重复项。但是Collections.sort()在这方面帮不上忙。另外,我的列表中的大多数部分已经排序了,那么有没有其他的libray方法可以让我在合并重复项的同时进行排序呢?
发布于 2014-02-03 20:49:49
Set<Foo> sortedAndMerged = new TreeSet<Foo>(myFooComparator);
sortedAndMerged.addAll(list);就这样。不需要更多了。在他们的javadoc中提供了什么是Set和什么是TreeSet的解释。
请注意,在此上下文中,重复意味着“当使用比较器进行比较时,它们被认为是相等的”。
发布于 2014-02-03 20:49:27
您可以使用Set来存储数据。有一个实现调用Tree-Set,它是一个排序集。你可以简单地使用它。
有关treeSet的更多信息
发布于 2014-02-03 20:52:30
从Collection bcoz中使用TreeSet,它将自动删除重复的元素并对元素进行排序。
https://stackoverflow.com/questions/21527859
复制相似问题