【发布时间】:2018-04-13 12:08:00
【问题描述】:
据我了解,Set 可以帮助防止重复记录,但不能排序。
如果使用List,则可以排序,但不能防止重复记录。
如果我使用TreeSet,那么我的TreeSet 中的对象必须实现Comparable,这需要在我的项目中进行大的更改,如果可能的话,我不想更改它。
也许我可以将Set 转换为List,然后对其进行排序。但是,我的程序following有点复杂,意味着在我排序之后,我仍然需要在这个list中添加对象,同时我想防止重复,所以,要做到这一点,我有将排序后的List再次转换为Set,然后只在里面添加新对象。
我想寻求一种方法,可以使我的集合根据对象值进行排序,同时防止重复记录。
希望我没有问错问题。
【问题讨论】:
-
您将如何对您的列表进行排序?
-
@shmosel,我想根据我的对象中的值对其进行排序。比如对象调用payment,那么我就按照paymentId排序,或者按照reference number排序,比如
-
但是如何?我的意思是,无论您使用什么来对列表进行排序,都应该能够用于 TreeSet。
-
@shmosel ,起初我没有将 Comparable 传递给我的
TreeSet对象,所以我认为 TreeSet 对象首先必须实现 Comparable 。但是现在我将 Comparator 传递给我的 TreeSet 并解决了我的问题。 :)
标签: java list collections set treeset