stream().filter().collect()
时间: 2023-11-04 15:58:24 浏览: 117
stream.zip
stream().filter().collect()是Java中流式处理的一种常用操作。首先,通过stream()方法可以将一个源数据转化成流,源数据可以是集合、数组、I/O channel、产生器generator等。然后,使用filter()方法可以对流中的元素进行筛选,只保留满足特定条件的元素。最后,通过collect()方法可以将筛选后的元素收集到一个新的数据结构中,例如List、Set、Map等。
举个例子来说明,假设有一个名为AList的列表,其中存储了一些名为A的对象。如果我们想筛选出AList中userName为"小明"的A对象,并将它们收集到一个新的列表中,可以使用如下代码:
```
if(AList.stream().filter(a -> "小明".equals(a.getUserName()))
.findFirst().isPresent()){
List<A> list = AList.stream().filter(a -> "小明".equals(a.getUserName()))
.collect(Collectors.toList());
}
```
上述代码中,首先使用stream()方法将AList转化成流,然后使用filter()方法筛选出userName为"小明"的A对象,接着使用findFirst()方法获取第一个满足条件的对象,并判断是否存在,最后使用collect()方法将满足条件的A对象收集到一个新的列表中。
阅读全文