繁体   English   中英

如何从数组中获取唯一元素以及所得数组的长度

[英]How to get unique elements from an array and length of resulting array

我有一个由元素(1、2、3、3、4)组成的排序数组。 我想从此数组和结果数组的长度中获取唯一元素。

输出数组应包含(1,2,3,4),大小= 4。

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

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

演示

在这里最简单的操作可能是将数组元素添加到排序集中,例如TreeSet

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

如果您的代码稍后还需要使用集合,则此选项将很有意义。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM