常用的一些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())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
常用Stream操作有以下几种: 1. 创建Stream:可以通过调用集合的`stream()`方法来获取一个Stream。例如,对于任意的Collection集合,都可以使用`stream()`方法获取对应的Stream。 2. 遍历集合:使用`forEach()`方法可以对Stream进行遍历操作。例如,`stream.forEach(System.out::println)`可以打印出Stream中的每一个元素。 3. 映射:使用`map()`方法可以将一个Stream中的元素根据某个函数进行映射转换。例如,`stream.map(x -> x * x)`可以将Stream中的每一个元素平方。 4. 过滤:使用`filter()`方法可以根据某个条件对Stream中的元素进行过滤。例如,`stream.filter(x -> x > 0)`可以筛选出Stream中大于0的元素。 5. 分组:使用`groupingBy()`方法可以将Stream中的元素按照某个条件进行分组。例如,`stream.collect(Collectors.groupingBy(User::getAge))`可以将Stream中的元素按照年龄进行分组。 6. 求和:使用`sum()`方法可以对Stream中的元素进行求和操作。例如,`stream.mapToInt(User::getHeight).sum()`可以求出Stream中所有用户身高的总和。 7. 做判断:使用`anyMatch()`、`allMatch()`、`noneMatch()`方法可以对Stream中的元素进行判断操作。例如,`stream.anyMatch(x -> x > 10)`可以判断Stream中是否存在大于10的元素。 8. 合并List:可以使用`flatMap()`方法将多个Stream合并成一个Stream。例如,`Stream.concat(list1.stream(), list2.stream())`可以将两个List合并成一个Stream。 9. 分页:可以使用`skip()`和`limit()`方法实现分页功能。例如,`stream.skip(10).limit(10)`可以跳过前10个元素,然后取出后面的10个元素。 10. 排序:使用`sorted()`方法可以对Stream中的元素进行排序操作。例如,`stream.sorted()`可以对Stream中的元素按照默认顺序进行排序。 这些是常见的Stream操作,通过组合这些操作可以实现丰富的数据处理和转换功能。请根据具体的需求选择和组合这些操作来使用Stream

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值