首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java 8流前端与map

Java 8流前端与map
EN

Stack Overflow用户
提问于 2022-06-10 06:26:28
回答 1查看 521关注 0票数 0

在我的应用程序中,如果另一个列表不包含这些元素,我尝试将列表的元素添加到另一个列表中。

我试着这样做:

代码语言:javascript
复制
 List<String> list1 = dto.getList1() != null ? couponDto.getLis1(): new ArrayList<>();
 list1.stream().filter(item -> !secondList.contains(item)).map(secondList::add);

在像上面这样使用它时,我没有收到任何错误,但是item没有添加到secondList中。在花了太多时间之后,我能把它修好如下:

代码语言:javascript
复制
List<String> list1 = dto.getList1() != null ? couponDto.getLis1(): new ArrayList<>();
list1.stream().filter(item -> !secondList.contains(item)).forEachOrdered(secondList::add);

我知道map是用来将一个值映射到另一个值的,所以不是通过将项目添加到列表中来实现的吗?

有人能帮我理解这件事吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-06-18 14:21:47

一旦您已经流数据,您需要调用终端函数(例如:forEachcollect)来完成操作。在您的代码中,forEachOrdered是一个终端操作,但map不是,所以它工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72569919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档