用 Java8 Lambda 从列表中过滤空值

Java流的常见任务是清理输入数据,以便以后的步骤可以正常工作。 #1最常见的清除步骤可能是从集合中删除空值。

流使操作变得简单:


myCollection.stream()
  .filter(Objects::nonNull)
  .do.what.you.need

与经典方法比较:


while(myCollection.remove(null));
// do what you need, but you better not need that original list, because it's gone...
myCollection.removeAll(Collections.singleton(null));
// do what you need, but you better not need that original list, because it's gone...

像流方法一样,它们简短而有趣,但是与流方法不同,它们修改了原始列表。 第一个例子也很慢。

我喜欢流方法,因为我可以在过滤器任务之后链接其他任务,包括mapsortedreduce和更多!我发现传统的命令式迭代方法不仅更冗长,而且在概念上更难于遵循。

原文链接: https://dev.to//monknomo/filter-null-values-from-a-list-with-java8-lambda-351h

你可能感兴趣的:(用 Java8 Lambda 从列表中过滤空值)