【发布时间】:2020-12-03 15:11:14
【问题描述】:
我有两个对象数组列表,我需要通过属性值比较它们并返回唯一的。对象有两个属性,question 和 answer,只应返回列表一中具有唯一问题的对象。
*faq(question, answer)*
List<faq> one = new ArrayList<>();
one.add(new faq("question 1", "answer 1"));
one.add(new faq("question 2", "answer 2"));
one.add(new faq("question 3", "answer 3"));
List<faq> two = new ArrayList<>();
two.add(new faq("question 4", "answer 4"));
two.add(new faq("question 5", "answer 5"));
two.add(new faq("question 1", "answer 6"));
two.add(new faq("question 7", "answer 7"));
two.add(new faq("question 8", "answer 8"));
从这里的代码中,我想从列表一中获取带有问题 2 和 3 的对象,因为只有这两个不包含在列表二中
【问题讨论】:
-
类
faq是否实现/覆盖equals(和哈希码)方法? -
您在寻找
List#removeAll方法吗? javadocs如果你想离开列表one而不做任何更改,只需先复制它。