流式传输数组然后反转流的顺序是否会导致开销(例如,需要首先完全流式传输数组,然后向后迭代它)?
使用辅助结构final Object[] arr; // assume this is filled
List<Integer> list = Arrays.asList(arr);
Collections.reverse(list);
list.stream();
以相反顺序迭代数组是规避开销(例如创建附加列表)的唯一方法吗?
流式传输数组然后反转流的顺序是否会产生开销是的。
以相反顺序迭代数组是规避开销(例如创建附加列表)的唯一方法吗?是的,用
IntStream
来做:
IntStream.range(0, arr.length).mapToObj(i -> arr[arr.length-1-i])