【发布时间】:2017-08-22 15:56:20
【问题描述】:
我有两个Personne 列表:listOne 和 listTwo。
Personne 是:
public class Personne{
private String name;
private Favorite favorite;
private Collection<Number> numbers;
}
public class Favorite{
private String id;
private String name;
...
}
对于每个项目,如果第一个列表的收藏名称和 id 等于第二个列表的收藏名称和 id,我想合并两个列表,然后将第二个列表合并到第一个。
这是我的治疗的一部分,我所说的合并是什么意思(它不会创建另一个列表):
如果我的条件是真的,我想从我的第一个列表中取出项目:
item.setNumbers(item2.getnumbers);
使用 Java 7 执行此操作的最佳方法是什么?
【问题讨论】:
-
为什么不创建一个新列表,遍历其他两个并添加它们? (接下来,您的问题上下文不正确,您说您有一个 Personne 列表,但您正在谈论列表中的收藏夹。)
-
因为我的列表包含收藏夹而收藏夹包含其他字段。如果我的条件为真,我只想测试最喜欢的名称和 ID 我想用第二个列表的项目完成我的项目
-
要比较收藏夹,你应该做一个equals(Object other)方法,(artima.com/lejava/articles/equality.html)但是我仍然不清楚请求的结果,你能举个例子和想要的结果?
-
我只需要测试最喜欢的 id 和名称(最喜欢的包含其他字段),如果我的条件是真的,我想拿我的第一个列表中的项目并用第二个列表信息的项目完成它.setNumbers(item2.getnumbers).