【问题标题】:How to get unique elements from an array and length of resulting array如何从数组中获取唯一元素和结果数组的长度
【发布时间】:2018-09-13 10:54:38
【问题描述】:

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

输出数组应由 (1,2,3,4) 和 size = 4 组成。

【问题讨论】:

    标签: java


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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

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

        DEMO

        【讨论】:

          猜你喜欢
          • 2021-10-08
          • 2022-01-07
          • 1970-01-01
          • 1970-01-01
          • 2020-06-08
          • 1970-01-01
          • 1970-01-01
          • 2010-09-15
          • 1970-01-01
          相关资源
          最近更新 更多