栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java函数式编程之stream流简单使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java函数式编程之stream流简单使用

概念:Stream流的获取 Stream流式思想的核心: 是先得到集合或者数组的Stream流 然后就用这个Stream流操作集合或者数组的元素。 然后用Stream流简化替代集合操作的API.注意:流被释放后无法再次使用

集合或数组与stream流相互转换:

   
        List list = new ArrayList<>();
        
        Stream s =  list.stream();
        
        List sList= s1.collect(Collectors.toList()); // 可变集合

        
        Map maps = new HashMap<>();
        // 键流
        Stream keyStream = maps.keySet().stream();
        // 值流
        Stream valueStream = maps.values().stream();
        // 键值对流
        Stream> keyAndValueStream =  maps.entrySet().stream();

        
        String[] names = {"1","2","3","4"};
        Stream nameStream = Arrays.stream(names);
        
        Object[] arrs = s3.toArray();

stream流常用API的介绍和使用: 

        List list = new ArrayList<>();
        list.add("zwj");
        list.add("wj");

        // filter : 过滤元素 找出以"z"开头的字符串   forEach : 逐一处理(遍历)
        list.stream().filter(s -> s.startsWith("z")).forEach(s -> System.out.println(s));//zwj
        //count:统计个数
        long size = list.stream().filter(s -> s.length() == 3).count();
        System.out.println(size);//1

       // list.stream().filter(s -> s.startsWith("z")).limit(2).forEach(s -> System.out.println(s));
        //limit : 取前几个元素
        list.stream().limit(1).forEach(System.out::println);//zwj
        //skip : 跳过前几个
        list.stream().skip(1).forEach(System.out::println);//wj

        // map加工方法: 第一个参数原材料  -> 第二个参数是加工后的结果。
        // 给集合元素的前面都加上一个:我是:
        list.stream().map(s -> "I am a:" + s).forEach(a -> System.out.println(a));//I am a:zwj I am a:wj

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/914184.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号