stream filter判空跳过
时间: 2024-02-20 20:55:12 浏览: 73
Java8 Stream中间操作实例解析
stream filter是Java 8中引入的一个功能,它允许我们对集合中的元素进行筛选和转换操作。在使用stream filter时,我们可以通过判空跳过某些元素。
具体来说,我们可以使用filter方法结合Predicate接口来定义一个条件,然后将这个条件应用到stream中的每个元素上。如果元素满足条件,则保留该元素;如果不满足条件,则跳过该元素。
当我们需要判空并跳过某些元素时,可以使用Optional类的方法来进行处理。例如,我们可以使用filter方法结合Optional的isPresent方法来判断元素是否为空,然后跳过空元素。
下面是一个示例代码,演示了如何使用stream filter判空跳过空元素:
```
List<String> list = Arrays.asList("apple", null, "banana", null, "orange");
List<String> filteredList = list.stream()
.filter(element -> Optional.ofNullable(element).isPresent())
.collect(Collectors.toList());
System.out.println(filteredList);
```
在上述代码中,我们首先创建了一个包含了若干元素的List。然后,我们使用stream方法将List转换为一个流。接着,我们使用filter方法结合Optional的isPresent方法来判断元素是否为空,并跳过空元素。最后,我们使用collect方法将过滤后的元素收集到一个新的List中,并打印输出结果。
运行上述代码,输出结果为:[apple, banana, orange],可以看到空元素已经被成功跳过。
阅读全文