哪个是用于排序和删除Java中重复的最佳数据集?

时间:2013-10-30 07:01:22

标签: java sorting hashset duplicate-removal treeset

如果使用

  

TreeSet中

,由于其二进制搜索方法,它无法保证删除重复项。

如果使用

  

HashSet的

,它不提供排序。

我想在数据集中同时使用这两种功能。哪种方式更好?

唯一的方法是首先使用HashSet&删除重复项。然后将其复制到TreeSet进行排序?

1 个答案:

答案 0 :(得分:2)

使用TreeSet并且如果compareTo()为两个元素返回0而不是它将被替换,因此只会出现唯一元素..

 TreeSet<Object1> tree=new TreeSet<Object1>(new Comparator<Object1>() {
        @Override
        public int compare(Object1 o1, Object1 o2) {
            return o1.k-o2.k;
        }
    });

此处Object1如下所示:

class Object1{
    int k;
}

如果Object1的两个对象相同,即int kcompare()方法返回0,TreeSet将检测到重复。希望我很清楚。