java中的stream基本使用
前言
Stream流把真正的函数式编程风格引入到Java中,而且代码特别简介。
一、Stream流的三类方法
1、获取Stream流
2、中间方法
3、终结方法
二、生成Stream流的方式
-
Collection体系集合
使用默认方法stream()生成流, default Stream stream()
-
Map体系集合
把Map转成Set集合,间接的生成流
-
数组
通过Arrays中的静态方法stream生成流
-
同种数据类型的多个数据
通过Stream接口的静态方法of(T… values)生成流
三、Stream流中间操作方法
常见方法
方法名 | 说明 |
---|---|
Stream filter(Predicate predicate) | 用于对流中的数据进行过滤 |
Stream limit(long maxSize) | 返回此流中的元素组成的流,截取前指定参数个数的数据 |
Stream skip(long n) | 跳过指定参数个数的数据,返回由该流的剩余元素组成的流 |
static Stream concat(Stream a, Stream b) | 合并a和b两个流为一个流 |
Stream distinct() | 返回由该流的不同元素(根据Object.equals(Object) )组成的流 |
四、Stream流终结操作方法
常见方法
方法名 | 说明 |
---|---|
void forEach(Consumer action) | 对此流的每个元素执行操作 |
long count() | 返回此流中的元素数 |
五、Stream流的收集操作
常用方法
方法名 | 说明 |
---|---|
R collect(Collector collector) | 把结果收集到集合中 |
工具类Collectors提供了具体的收集方式 |
方法名 | 说明 |
---|---|
public static Collector toList() | 把元素收集到List集合中 |
public static Collector toSet() | 把元素收集到Set集合中 |
public static Collector toMap(Function keyMapper,Function valueMapper) | 把元素收集到Map集合中 |
六、体验一下
现在ArrayList集合,存储6名演员名称,演员只要名字为3个字的前三人。文章来源:https://www.toymoban.com/news/detail-614287.html
代码如下):
ArrayList<String> list = new ArrayList<String>();
list.add("周润发");
list.add("成龙");
list.add("刘德华");
list.add("吴京");
list.add("周星驰");
list.add("李连杰");
Stream<String> listStream= list.stream().filter(s -> s.length() == 3).limit(3);
总结
例如:以上就是今天要讲的内容,本文仅仅简单介绍了stream的使用,而stream提供了大量能使我们快速便捷地处理数据的函数和方法。文章来源地址https://www.toymoban.com/news/detail-614287.html
到了这里,关于java中的stream基本使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!