问答详情
源自:5-2 Lambda和Stream性能问题

对于对象的并行stream和串行stream为什么代码都一样啊?

public static void testProductStream(List<Product> list) {
    long start = System.currentTimeMillis();

    Optional optional = list.stream().max((p1, p2)-> p1.hot - p2.hot);
    System.out.println(optional.get());

    long end = System.currentTimeMillis();
    System.out.println("testProductStream:" + (end - start) + "ms");
}

public static void testProductParallelStream(List<Product> list) {
    long start = System.currentTimeMillis();

    Optional optional = list.stream().max((p1, p2)-> p1.hot - p2.hot);
    System.out.println(optional.get());

    long end = System.currentTimeMillis();
    System.out.println("testProductParallelStream:" + (end - start) + "ms");
}


提问者:慕仙2912319 2020-03-12 16:53

个回答

  • qq_慕仰1189547
    2020-03-17 15:45:17

    估计是直接粘下来 没注意 你手动改一下就可以了 

    Optional optional = list.parallelStream().max((p1, p2)-> p1.hot - p2.hot);