用 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值