2010-12-13 5 views
2

CSVファイルのデータを{timestamp}, {data1}, {data2}の形式で取得しています。カレンダーのようなデータベースをJavaでモデル化する良い方法はありますか?

私が探している私は簡単に次の操作を行うことができるように、データ構造内のデータを格納するためのまともな、賢明な方法である:正しいデータを与えDateオブジェクトに対して

  1. 、見つけますその日付に関連付けられています。
  2. 日付に直接一致するものがない場合は、前後の項目を検索します。

最初の要件は、Hashtableによって容易に満たされます。 2番目のものは、Hashtableが固有の順序を持​​っていれば簡単でしょう。その場合、前の項目のために与えられた日付よりも下にある最大の項目と、次の項目の次の項目を見つけることができます。

これは当てはまらないので、ここで使用するのはどのようなデータ構造ですか?

答えて

2

ソートマップを使用します。

Map.get()を使用して、正確に一致するデータを取得します。使用可能なデータがない場合は、SortedMap.tailMap(date)およびSortedMap.headMap(date)を使用して、指定した日付より大きい値と小さい値を取得します。

+0

驚くばかりです。どうもありがとう。 – winsmith

+0

他の読者は、SortedMapは抽象であることに注意してください。それをインスタンス化するには、 'SortedMap のようにTreeMapを使います。map =新しいTreeMap ();' – winsmith

関連する問題