如何解决迭代两个具有相同大小的Java流,并从另一个覆盖另一个的值
我有两个列表,它们的大小相同。我想同时遍历两个对象,并在另一个流中覆盖一个流中的值。
例如,我有两个包含一些数据的列表ListA和ListB,可以通过id比较它们,我希望得到如下结果:
List<SomeObject> listA;
List<AnotherObject> listB;
listA: {
[id=111;
name='AAA';
age=65],[id=222;
name='BBB';
age=11],}
listB: {
[id=111;
name='';
age=null],[id=222;
name='';
age=null],}
result:{
[id=111;
name='AAA';
age=65],}
它们当然还有其他一些属性,应该保持不变。所以我只需要覆盖其中的两个
解决方法
- 例如通过“ listB”从一个列表(按
id
分组)创建地图 - 使用流或for循环对其他列表(
listA
)进行迭代,对于id
从创建的地图中找到对应项目的每个项目。 - 如果条目由
id
匹配,请替换所有null
或空字符串的值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。