【问题标题】:How to sort an array and remove the duplicates or vice versa in Java? [duplicate]如何在 Java 中对数组进行排序并删除重复项,反之亦然? [复制]
【发布时间】:2015-01-21 04:39:31
【问题描述】:

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

例子:

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

输出:

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

【问题讨论】:

  • 使用/添加元素到 TreeSet
  • 请定义“最佳”。
  • 有一个很棒的工具叫 Google。试试吧。
  • Hello Cool Guy 我知道如何使用冒泡排序对它们进行排序我不知道如何一次删除重复项所以我问了这个问题 Cool Guy
  • 感谢 jp-jee 的想法

标签: java jakarta-ee


【解决方案1】:

您可以使用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

【讨论】:

    猜你喜欢
    • 2014-11-05
    • 1970-01-01
    • 2014-04-29
    • 2021-12-18
    • 2017-10-09
    • 2013-12-03
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    相关资源
    最近更新 更多