【发布时间】:2017-07-11 06:59:14
【问题描述】:
您好,我有一个已删除标志的 dto 列表。我需要过滤它们并返回一个。
逻辑是,如果列表中有两项,其中一项被删除,我会获取未删除的一项,但如果只有一项并被删除,则返回它。
所以基本上订单没有被删除>删除>新项目。
List<Item> existingItems = service.getItems();
existingItems.stream().filter(e -> !e.getIsDeleted()).findAny().orElse(new Item());
如何修改此Stream 管道以实现所需的逻辑?
【问题讨论】:
-
所以列表的最大大小始终为 2?
-
不,可以下注0或更多
-
但最大尺寸为 2?那么是 0、1 还是 2?
标签: java list java-8 java-stream