0

如果使用

树集

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

如果使用

哈希集

,它不提供排序。

我希望将这两个功能都放在一个数据集中。哪种方法更可取?

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

4

1 回答 1

2

使用TreeSetand ifcompareTo()为两个元素返回 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检测重复项。希望我很清楚。

于 2013-10-30T07:04:28.153 回答