Java8 Stream 流的简单应用

参考详情文档:

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整除

     Integer[] evens = Stream.of(sixNums).filter(n -> n%2 == 0).toArray(Integer[]::new);

3 排序

    实体类list的排序

    List<Cat> collect = cats.stream().sorted(Comparator.comparing(Cat::getBirthDay)).collect(Collectors.toList());

4 reduce() 

    这个方法的主要作用是把 Stream 元素组合起来,进行字符串拼接、获取数值的 sum、min、max、average ;

猜你喜欢

转载自blog.csdn.net/weixin_37794901/article/details/81060813