如何在Java中对数组进行排序并删除重复项,反之亦然?

时间:2014-11-23 11:20:38

标签: java java-ee

我有一个未排序的数组。删除元素的所有重复项(如果存在)并对其进行排序的最佳方法是什么?

示例:

{10,10,50,20,45,60,25,25,90}

输出:

{10,20,25,45,50,90}

1 个答案:

答案 0 :(得分:0)

您可以使用TreeSet执行此操作。将array的所有元素添加到TreeSet并将其存储回array

代码

Integer[] arr = {10,10,50,20,45,60,25,25,90};
TreeSet<Integer> tree = new TreeSet<Integer>();

for(int i = 0; i< arr.length; i++) {
    tree.add(arr[i]);
}

arr = new Integer[tree.size()];
tree.toArray(arr);
for(int i = 0; i< arr.length; i++) {
    System.out.print(arr[i] + "\t");
}

输出

10  20  25  45  50  60  90