有没有一种有效的方法来比较列表的元素?关于此事的一些背景:
我正在解析数据,然后将其存储在列表中。然后,我将在 Oracle DB 中查询与某些元素匹配的列表(ID 名称描述)。我一直在创建一个数据结构,然后将其存储到列表中。问题是如何比较内容。我需要考虑 4 个场景。
- 新数据是全新的(添加行)
- 新数据大多与现有数据匹配(更新上一行)
- 数据库中存在的数据不在新数据中,而是在某些数据上匹配。(状态需要更改以表明问题已被取消)。
- 数据完全匹配(如果更改则更新时间,否则不更改)
创建一个描述该行的对象。用于ComparisonChain
您的功能要求。
public int compareTo(Foo that) {
return ComparisonChain.start()
.compare(this.aString, that.aString)
.compare(this.anInt, that.anInt)
.compare(this.anEnum, that.anEnum, Ordering.natural().nullsLast())
.result();
}
http://code.google.com/p/guava-libraries/wiki/CommonObjectUtilitiesExplained#equals