结论:能用Stream的就不要用For循环
通过测试: Stram流比For循环处理速度稍快一些(2-3s不等)
控制台输出的结论,我就不再展示了(专治不自己动手验证的朋友😁,只有亲自验证过,记忆才会更深刻哦)
案例如下:
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
IntStream.range(0, 10000000).boxed()
.forEach(i -> list.add(i));
int MAX_HANDLE = 100000;
int MAX_HANDLE_TOTAL = (list.size() + MAX_HANDLE - 1) / MAX_HANDLE;
//数据分割 skip 手动塞数据
long start = System.currentTimeMillis();
List<List<Integer>> result1 = new ArrayList<>(MAX_HANDLE_TOTAL);
Stream.iterate(0, n -> n + 1)
.limit(MAX_HANDLE_TOTAL)
.forEach(i -> {
int fromIndex = i * MAX_HANDLE;
int toIndex = fromIndex + MAX_HANDLE;
result1.add(list.stream().skip(fromIndex).