0

リストの要素を比較する効果的な方法はありますか? この問題の背景:

データを解析してリストに保存しています。次に、いくつかの要素 (ID 名の説明) に一致するリストを Oracle DB に照会します。私はデータ構造を作成し、それをリストに保存しています。問題は内容をどう比較するかです。4 つのシナリオを説明する必要があります。

  1. 新しいデータは完全に新しいものです (行を追加)
  2. 新しいデータはほとんど既存のデータと一致します (前の行を更新)
  3. 新しいデータではなく、DB に存在するデータがありますが、一部のデータで一致します。(問題がキャンセルされたことを示すためにステータスを変更する必要があります)。
  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 に答える