有关jdk1.8 stream&lambda

stream默认是串行流,parrallelstream是并行流(流中的每个元素操作是并行的,没有特定的先后顺序),本质上是高级的iterator。

flatMap对于一维意味来说没有什么意义,将二维list平铺成一维。

获取流的操作可以这样:

Stream> integerListStream = Stream.of(
 Arrays.asList(1, 2), 
 Arrays.asList(3, 4), 
 Arrays.asList(5)
).parallel();


Stream integerStream = integerListStream .flatMap(Collection::stream);
integerStream.forEach(System.out::println);

也可以这样:

final double factorSum = squareReady.parallelStream().mapToDouble(square->{
    double factor = 1/(nSum*square.getDensity());
    square.setFactor(factor);
    return factor;
    }).sum();

新增的String.joiner :System.out.println(String.join(", ", friends));


你可能感兴趣的:(有关jdk1.8 stream&lambda)