参考详情文档:
https://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/index.html点击打开链接
应用对象:array,list
1 map映射/提取元素
stream.Map() 生成的是个 1:1 映射,每个输入元素,都按照规则转换成为另外一个元素;
List<String> wordList = new LinkedList<>();
wordList.add("a");
//元素转化大写
List<String> outList = wordList.stream().map(String::toUpperCase).collect(Collectors.toList());
//提取实体bean属性集合
List<Cat> cats = new ArrayList<Cat>();
List<Integer> list = cats.stream().map(Cat::getAge).collect(Collectors.toList());
2 筛选过滤
stream.filter() 对原始 Stream 进行某种规则筛的选,通过筛选出来元素被留下来生成一个新 Stream;Integer[] sixNums = {1, 2, 3, 4, 5, 6};
//能被2整除
3 排序
实体类list的排序List<Cat> collect = cats.stream().sorted(Comparator.comparing(Cat::getBirthDay)).collect(Collectors.toList());
4 reduce()
这个方法的主要作用是把 Stream 元素组合起来,进行字符串拼接、获取数值的 sum、min、max、average ;