如何从数组和结果数组的长度中获取唯一元素

时间:2018-04-04 01:47:32

标签: java

我有一个包含元素(1,1,2,3,3,4)的排序数组。我想从这个数组和结果数组的长度中获取唯一的元素。

输出数组应包含(1,2,3,4)和size = 4.

3 个答案:

答案 0 :(得分:3)

如果您使用的是Java 8,则可以通过以下方式执行此操作:

Arrays.stream(arr).distinct().toArray();

<强> DEMO

答案 1 :(得分:1)

这里最简单的方法可能是将数组元素添加到有序集合中,例如TreeSet

int[] array = new int[] {1, 1, 2, 3, 3, 4};
Set<Integer> set = new TreeSet<>();
for (int num : array) {
    set.add(num);
}

如果您的代码稍后需要使用某个集合,那么这个选项很有意义。

答案 2 :(得分:1)

  1. 这是作业吗?如果是,请说出来。我会假设它是。
  2. 我将遍历数组并使用List来存储我已经看到的值。如果我遇到已经出现在我的列表中的值,我会跳过它。如果没有,我会添加它。然后我将列表转换为数组并返回它。我不打算为你写,因为我假设它是家庭作业,但这是基本的想法。 注意:如果需要考虑性能,请使用HashMap而不是List。