Collection 防止重复记录和排序

Collection with prevent duplicate record and sort

据我了解,Set可以防止重复记录,但不能排序。

如果使用List,可以排序,但不能防止重复记录

如果我使用 TreeSet,那么我的 TreeSet 中的 object 必须实现 Comparable,这需要在我的项目中进行大的更改,如果可能的话,我不想改变这个。

也许我可以将 Set 转换为 List,然后对其进行排序。但是,我的程序follow有点复杂,就是说我排序之后,还要在这个list里面加上object,同时又要防止重复,所以,为此,我必须再次将排序后的 List 转换为 Set,然后只在新的 object 中添加

我想寻求一种方法,使我的 collection 根据 object 值排序,同时防止重复记录。

希望我没有问错这个问题。

TreeSet 似乎最符合您的要求。

If I use TreeSet, then the object in my TreeSet must implements Comparable

事实并非如此。 TreeSet 不需要您的元素类型来实现 Comparable。您可以将 Comparator 传递给 TreeSet 构造函数。

由于您的元素类型没有实现 Comparable,如果您要对 List 进行排序,无论如何您都需要 Comparator,所以不要对 List,使用 ComparatorTreeSet.