Pan*_*ong 1 java collections list set treeset
据我了解,Set可以帮助防止重复记录,但它不能排序.
如果使用List,那么它可以排序,但我不能防止重复记录.
如果我使用TreeSet,那么我的TreeSet必须实现的对象Comparable,这需要在我的项目中进行大的更改,如果可能的话,我不想更改它.
也许我可以转换Set为List,然后对它进行排序.但是,我的程序遵循有点复杂,意味着在我对它进行排序之后,我仍然需要在其中添加对象list,同时,我想防止重复,所以,要做到这一点,我必须转换排序List来Set一遍,然后只有在新的对象里面添加.
我想寻找一种方法,可以根据对象值对我的集合进行排序,同时防止重复记录.
希望我不是在问这个问题.
TreeSet 似乎最适合您的要求.
如果我使用TreeSet,那么TreeSet中的对象必须实现Comparable
这不是真的.TreeSet不需要您的元素类型来实现Comparable.您可以将a传递Comparator给TreeSet构造函数.
由于您的元素类型没有实现Comparable,Comparator如果您要对a进行排序List,则无论如何都需要一个,所以不要对a进行排序,而是List使用Comparatora TreeSet.