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
,使用 Comparator
和 TreeSet
.
据我了解,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
,使用 Comparator
和 TreeSet
.