Java Stream接口

Stream接口不是储存数据结构,数据源可以是一个集合,为了函数式编程创造,惰式执行,数据只能被消费一次。

分为中间操作和结束操作,

例子:

Stream<String> stream = Stream.of("1","2","3","3","tom");
//遍历
stream.forEach(System.out::println);

//过滤
stream.filter((str)->{
    return !str.equals("2");
}).forEach(System.out::println);

//去重
stream.distinct().forEach(System.out::println);

//映射
stream.map((s)->{
    if (s.equals("3")){
        return "30";
    }else {
        return s;
    }
}).forEach(System.out::println);

Optional<String> jg = stream.reduce((str1, str2)->{
    return str1.length() >= str2.length() ? str1 : str2;
});
System.out.println(jg.get());


//合并集合
Stream<List<String>> stream2 = Stream.of(Arrays.asList("1","2","3"), Arrays.asList("3","tom"));
stream2.flatMap((strs)->{
    return strs.stream();
}).forEach(System.out::println);
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值