stream流常用api

流的操作可以分为两种类型:
1)中间操作,可以有多个,每次返回一个新的流,可进行链式操作。2)终端操作,只能有一个,每次执行完,这个流也就用光光了,无法执行下一个操作,因此只能放在最后。

01、创建流
如果是数组的话,可以使用 Arrays.stream() 或者 Stream.of() 创建流;
如果是集合的话,可以直接使用 stream() 方法创建流,因为该方法已经添加到 Collection 接口中。

distinct() 方法是一个中间操作(去重)
Stream distinct();

count() 方法是一个终端操作,返回流中的元素个数。long count();

filter() 方法可以从流中筛选出我们想要的元素

stream.forEach(System.out::println); 相当于在 for 循环中打印

map() 如果想通过某种操作把一个流中的元素转化成新的流中的元素,可以使用 map() 方法。

Stream 类提供了三个方法可供进行元素匹配,它们分别是:
anyMatch(),只要有一个元素匹配传入的条件,就返回 true。
allMatch(),只有有一个元素不匹配传入的条件,就返回 false;如果全部匹配,则返回 true。
noneMatch(),只要有一个元素匹配传入的条件,就返回 false;如果全部不匹配,则返回 true。

判断一个集合里面是否有相同的元素
list.stream().distinct().count()<list.size()
如果返回true,则里面包含相同的元素;
如果返回flase,则里面不包含相同的元素;

总结自 https://mp.weixin.qq.com/s/7hNUjjmqKcHDtymsfG_Gtw

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Stream在Java中的常用API包括:1. Stream.of:创建一个 2. Stream.generate:创建一个无限 3. Stream.iterate:创建一个有限 4. Stream.collect:转换为集合 5. Stream.map:对进行映射 6. Stream.filter:对进行过滤 7. Stream.reduce:对进行聚合 8. Stream.flatMap:将扁平化 9. Stream.distinct:去重 10. Stream.sorted:排序 ### 回答2: 在Java中,Stream是一种用于处理集合数据的新API,它提供了一种更直观、更高效的方式来操作数据。以下是Stream常用API: 1. filter(Predicate):通过给定的条件过滤元素,返回一个新的。 2. map(Function):对中的每个元素应用给定的函数,并返回一个新的。 3. flatMap(Function):将中的每个元素转换为另一个,并将所有连接成一个新的。 4. distinct():通过对象的hashCode()和equals()去除重复的元素,返回一个新的。 5. sorted(Comparator):对中的元素进行排序,默认是自然排序,也可以自定义排序方式。 6. limit(long):返回前n个元素的。 7. skip(long):跳过前n个元素,返回剩下的元素的。 8. forEach(Consumer):对中的每个元素执行给定的操作。 还有一些终端操作,它们会触发的遍历,通常用于生成最终结果: 9. toArray():将中的元素转换为数组。 10. collect(Collector):将中的元素收集到一个集合中,常用的方法有toList()、toSet()等。 11. count():返回中元素的个数。 12. anyMatch(Predicate):是否存在任意一个元素满足给定的条件。 13. allMatch(Predicate):是否所有元素都满足给定的条件。 14. noneMatch(Predicate):是否所有元素都不满足给定的条件。 15. findFirst():返回中的第一个元素。 16. findAny():返回中的任意一个元素。 这些API提供了非常丰富和灵活的操作,可以轻松地处理集合数据。通过使用Stream,我们可以更加简洁高效地编写代码并提高代码的可读性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值