【问题标题】:Returns each array element 2 times using Iterator使用迭代器将每个数组元素返回 2 次
【发布时间】:2021-12-02 03:04:48
【问题描述】:

我有一个方法public static Iterator<Integer> intArrayTwoTimesIterator(int[] array) 接受一个数组。 我需要返回一个Iterator,它遍历给定的数组,但返回每个数组元素 2 次。 例如数组是new int[]{1, 2, 3},输出需要是"[1, 1, 2, 2, 3, 3]"。 如何使用迭代器将元素返回 2 次?

【问题讨论】:

    标签: java iterator


    【解决方案1】:

    你可以试试这个实现:

    public static Iterator<Integer> intArrayTwoTimesIterator(int[] array) {
      return Arrays.stream(array).
              flatMap(value -> IntStream.of(value, value)).
              boxed().iterator();
    }
    

    【讨论】:

    • 完美运行,谢谢
    【解决方案2】:

    您应该迭代数组并将每个元素推送到每个元素之后并返回一个数组。

    您可以这样做: (如何在特定索引处将项目插入到数组中)

    var arr = [];
    arr[0] = "1";
    arr[1] = "2";
    arr[2] = "3";
    
    
    arr.join(); // Jani,Hege,Stale,Kai Jim,Borge
    arr.splice(1, 0, "1");
    arr.join();
    

    或者只是将迭代中的每个元素推入数组并对其进行排序。

    【讨论】:

      猜你喜欢
      • 2014-03-12
      • 2021-08-08
      • 2019-06-23
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 1970-01-01
      • 2021-01-31
      • 1970-01-01
      相关资源
      最近更新 更多