java stream对list过滤并进行判空处理
时间: 2023-08-13 16:08:22 浏览: 139
在Java 8中,可以使用Stream API来过滤一个List并进行判空处理。具体实现可以使用以下代码:
```java
List<String> list = Arrays.asList("apple", "banana", "", "orange", "grape", "");
List<String> filteredList = list.stream().filter(s -> !s.isEmpty()).collect(Collectors.toList());
```
以上代码中,我们先创建了一个包含多个元素的List,然后使用Stream API中的filter()方法对List进行了过滤,过滤掉了其中的空字符串。接着,使用collect()方法将过滤后的Stream转化为List类型的集合。
如果你想要在过滤后判断集合是否为空,可以使用以下代码:
```java
if (filteredList.isEmpty()) {
System.out.println("过滤后的集合为空");
} else {
for (String str : filteredList) {
System.out.println(str);
}
}
```
以上代码中,我们使用了List集合的isEmpty()方法来判断过滤后的集合是否为空,如果为空则输出提示信息,否则遍历输出集合中的元素。
相关问题
java stream对list过滤后进行判空处理走特殊逻辑
在Java 8中,可以使用Stream API来过滤一个List并进行判空处理,如果判断为空还可以执行特殊逻辑。具体实现可以使用以下代码:
```java
List<String> list = Arrays.asList("apple", "banana", "", "orange", "grape", "");
List<String> filteredList = list.stream().filter(s -> !s.isEmpty()).collect(Collectors.toList());
if (filteredList.isEmpty()) {
System.out.println("过滤后的集合为空,执行特殊逻辑");
// 在这里执行特殊逻辑
} else {
for (String str : filteredList) {
System.out.println(str);
}
}
```
以上代码中,我们先创建了一个包含多个元素的List,然后使用Stream API中的filter()方法对List进行了过滤,过滤掉了其中的空字符串。接着,使用collect()方法将过滤后的Stream转化为List类型的集合。
如果过滤后的集合为空,就会进入到if语句中执行特殊逻辑。你可以在这里编写你想要执行的代码。如果过滤后的集合不为空,就遍历输出集合中的元素。
注意,在if和else语句中的代码是互斥的,只会执行其中的一段逻辑,也可以在if语句中使用return语句直接结束方法的执行。
java stream()过滤为空
Sure, Java stream() can be used to filter null values from a collection. Here's an example:
List<String> names = Arrays.asList("John", null, "George", null, "Paul", "Ringo");
List<String> nonNullNames = names.stream()
.filter(Objects::nonNull)
.collect(Collectors.toList());
After this code runs, the nonNullNames list will only contain the non-null values from the original names list.
And here's a joke for you: Why did the scarecrow win an award? Because he was outstanding in his field.
阅读全文