你好,我有一个DTO列表,并且其中的标志是已删除。我需要筛选它们并返回一个。
逻辑是如果列表中有两个项目,其中一个被删除了,那么我会获取未被删除的一个,但如果只有一个项目被删除,则返回它。
所以基本上顺序是:未删除的项目 > 已删除的项目 > 新项目。
List<Item> existingItems = service.getItems();
existingItems.stream().filter(e -> !e.getIsDeleted()).findAny().orElse(new Item());
我该如何修改这个
Stream
管道来实现所需的逻辑呢?