以下是java8 流式处理的一些常用方法,可以在以后做查看用
package com.fisher.drools.springbootdrools.lamda;
import com.graphbuilder.struc.linkedList;
import java.util.DoubleSummaryStatistics;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.stream.Collector;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class CollectionUseDemo {
public static void main(String[] args) {
List products = IntStream.range(1, 100).mapToObj(index -> {
Product product = new Product();
product.setAddress("address : " + index);
product.setName("productName:=" + index);
product.setPrice(new Random().nextDouble());
return product;
}).collect(Collectors.toList());
//将集合中的元素的某个字段拿出来做一个新的集合
List collect = products.stream().map(Product::getName).collect(Collectors.toList());
System.out.println(collect);
//目标集合中提取转化需要的部分转化成一个新的集合,并使用分隔符,前缀 ,后缀拼成一个整个的字符串
String target = products.stream().map(Product::getName).collect(Collectors.joining("@@", "[", "]"));
System.out.println(target);
//集合元素中所有的求平均值
Double averagePrice = products.stream().collect(Collectors.averagingDouble(Product::getPrice));
System.out.println(averagePrice);
//集合元素中求和
Double collect1 = products.stream().mapToDouble(Product::getPrice).sum();
System.out.println(collect1);
//收集统计信息非常重要的
DoubleSummaryStatistics summaryStatistics = products.stream().collect(Collectors.summarizingDouble(Product::getPrice));
System.out.println(summaryStatistics);
//通过一个给定的信息分区
Map> partitions = products.stream().collect(Collectors.partitioningBy(product -> product.getPrice() > 0.02));
System.out.println(partitions);
//自定义collector 收集器,转化不同的结果
Collector



