0

有没有一种有效的方法来比较列表的元素?关于此事的一些背景:

我正在解析数据,然后将其存储在列表中。然后,我将在 Oracle DB 中查询与某些元素匹配的列表(ID 名称描述)。我一直在创建一个数据结构,然后将其存储到列表中。问题是如何比较内容。我需要考虑 4 个场景。

  1. 新数据是全新的(添加行)
  2. 新数据大多与现有数据匹配(更新上一行)
  3. 数据库中存在的数据不在新数据中,而是在某些数据上匹配。(状态需要更改以表明问题已被取消)。
  4. 数据完全匹配(如果更改则更新时间,否则不更改)
4

2 回答 2

0

创建一个描述该行的对象。用于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

于 2013-02-10T00:14:42.790 回答
0

如果我对您的理解正确,这些方法可能会对您有所帮助:

List.contains

Collections.frequency

Collections.sort

于 2013-02-10T00:21:04.723 回答