Returns 每个数组元素使用 Iterator 2 次
Returns each array element 2 times using Iterator
我有一个采用数组的方法 public static Iterator<Integer> intArrayTwoTimesIterator(int[] array)
。
我需要 returns 一个 Iterator
迭代给定的数组,但 returns 每个数组元素 2 次。
例如数组是new int[]{1, 2, 3}
,在输出中需要是"[1, 1, 2, 2, 3, 3]"
。
如何使用 Iterator return 元素 2 次?
您应该迭代数组并将每个元素推送到每个元素之后,return 一个数组。
您可以这样做:
(如何在特定索引处将项目插入到数组中)
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();
或者只是将迭代中的每个元素推入数组并对其进行排序。
您可以试试这个实现:
public static Iterator<Integer> intArrayTwoTimesIterator(int[] array) {
return Arrays.stream(array).
flatMap(value -> IntStream.of(value, value)).
boxed().iterator();
}
我有一个采用数组的方法 public static Iterator<Integer> intArrayTwoTimesIterator(int[] array)
。
我需要 returns 一个 Iterator
迭代给定的数组,但 returns 每个数组元素 2 次。
例如数组是new int[]{1, 2, 3}
,在输出中需要是"[1, 1, 2, 2, 3, 3]"
。
如何使用 Iterator return 元素 2 次?
您应该迭代数组并将每个元素推送到每个元素之后,return 一个数组。
您可以这样做: (如何在特定索引处将项目插入到数组中)
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();
或者只是将迭代中的每个元素推入数组并对其进行排序。
您可以试试这个实现:
public static Iterator<Integer> intArrayTwoTimesIterator(int[] array) {
return Arrays.stream(array).
flatMap(value -> IntStream.of(value, value)).
boxed().iterator();
}