我有两个列表填充对象元素。使用这两个列表,我想创建另一个只包含它们之间不常见元素的列表。如何显示两个对象列表之间的唯一元素?
我试着使用迭代器:
for(Row currentRowObject: currentRow) {
for (Iterator<Row> newError = newErrorRow.iterator(); newError.hasNext();) {
Row rowObject = newError.next();
if (rowObject.getAll().equals(currentRowObject.getAll())) {
newError.remove();
}
}
}
我跑在此之后,newError
列表被完全移除。我检查了两个列表是不同的,它们的大小不同,并且这两个列表中有不同的对象。
我该如何解决这个问题?
这样做后,清单仍然是空的.... – 2014-11-05 16:34:17
@JohnSmith你可以上传你如何定义你的类行。你必须有相等的(Object o)和hashCode()方法重写(使它们唯一),这个链接应该可以帮助你[http://stackoverflow.com/questions/27581/what-issues-should-be-considered-when-overriding -equals-and-hashcode-in-java](http://stackoverflow.com/questions/27581/what-issues-should-be-considered-when-overriding-equals-and-hashcode-in-java) – nafas 2014-11-05 16:36:22
@约翰史密斯顺便说一句,你打印出罕见的行:) – nafas 2014-11-05 16:38:54