0

特定の年のすべての日付をキーとして含む TreeMap があり、各キーの値は 46 です。ユーザーは開始日と終了日を指定します。マップ内の開始日と終了日のキャパシティ (つまり、各日付の値、つまり 46) と範囲を確認したいと考えています。これはどのように行うことができますか?

日付の範囲で配列リストを作成できます。両方の構造(配列リストとツリーマップ)を同時に反復処理して、アイテムを比較するとうまくいくと思いました。よくわかりません。どう思いますか?

4

1 に答える 1

2

ナビゲート可能なマップ (ツリー マップなど) は、そのsubMap(fromKey, toKey)メソッドを介して一連のキーを持つマップを提供できます。

したがって、これはあなたのために働くはずです:

TreeMap<Date, Integer> map = ...;
int minCapacity = Integer.MAX_VALUE; 
int maxCapacity = Integer.MIN_VALUE;
for (Integer capacity : map.subMap(fromDate, toDate).entrySet()) {
    minCapacity = Math.min(minCapacity, capacity);
    maxCapacity = Math.max(maxCapacity, capacity);
}
于 2011-11-18T08:37:26.150 に答える