常用的一些Stream流操作

1、一对一转换

List<String> ids = Arrays.asLIst("205","105");
ids.stream().map(id->{
    User user = new User(Integer.valueof(id));
    return user;
}).collect(Collectors.toList());

2、一对多转换

List<String> ids = Arrays.asLIst("hellow jj","jia");
ids.stream().flatMap(id-> Arrays.stream(id.split(regex: ""))).collect(Collectors.toList());

3、filter、sorted、distint、limit

List<String> ids = Arrays.asLIst("205","105");
ids.stream()
    .filter(s->s.length()>2)
    .distinct().map(Interger::valueOf)
    .sorted(Comparator.comparingInt(o->o))
    .limit(3)
    .map(id->new User(id))
    .collect(Collectors.toList());

4、简单结果终止方法

List<String> ids = Arrays.asLIst("205","105");
统计stream操作后剩余的元素个数
ids.stream().filter(s->s.length()>2).count();
判断是否有元素等于205
ids.stream().filter(s->s.length()>2).anyMatch("205"::equals);
finFirst操作
ids.stream().filter(s ->s.length() >2).findFirst().ifPresent(s->System.out.println("findFitst:"+ s))

5、生成集合

List<String> ids = Arrays.asLIst(new User(17), new User(18));
collect成List
ids.stream().filter(dept->dept.id>20).collect(Collectors.toList())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值