Stream的常用方法

1. Stream的常用方法

目的:用于简化集合和数组操作的API,结合了Lambda表达式

 //1.得到集合的Stream流对象,再使其封装
        Stream<String> stream = list.stream();
        //2.过滤数据
        stream.filter(s -> s.startsWith("张")).filter(s -> s.length() == 3).forEach(s -> System.out.println(s));
        //3.统计数据
        long size = list.stream().filter(s -> s.startsWith("张")).filter(s -> s.length() == 3).count();
        System.out.println(size);
        //4.取前几个,跳过前几个元素
        list.stream().limit(2).forEach(s->System.out.println(s));
        list.stream().skip(2).forEach(s->System.out.println(s));
        //5.map加工法
        //需求:把所有人的名字前面加上一个ypp
        list.stream().map(s->"ypp:"+s).forEach(s->System.out.println(s));

        list.stream().map((s->new Student(s))).forEach(s->System.out.println(s));
        //6.concat合并流
        Stream<String> s1=list.stream();
        List<String> l1=new ArrayList<>();
        Stream<String> s2=l1.stream();
        Stream<String> concat = Stream.concat(s1,s2);

2.Stream流的收集操作

含义:把Stream流操作后的结果数据转回到集合和数组中去

Stream流:方便操作集合/数组的手段

集合/数组:才是开发的目的 
Stream流的收集方法:

List<String> l1 = new ArrayList<>();
        l1.add("张三");
        l1.add("张三");
        l1.add("张三");
        l1.add("李四");
        l1.add("王五");
        l1.add("赵六");
        l1.add("张六流");
        Stream<String> s1 = l1.stream().filter(s->s.startsWith("张"));
        System.out.println(s1);
        //List<String> list = s1.toList();
        //System.out.println(list);
        //把Stream流转换为可变的list的集合
        List<String> collect = s1.collect(Collectors.toList());
        collect.add("王五");
        System.out.println(collect);
        //收集成Set集合
        Stream<String> s2 = l1.stream().filter(s->s.startsWith("张"));
        Set<String>  name1=s2.collect(Collectors.toSet());
        name1.add("111");
        System.out.println(name1);
        //收集成数组
        Stream<String> s3=l1.stream().filter(s->s.startsWith("张"));
        String[] arr2=s3.toArray(s->new String[s]);
        System.out.println("内容是"+ Arrays.toString(arr2));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值