特定の年のすべての日付をキーとして含む TreeMap があり、各キーの値は 46 です。ユーザーは開始日と終了日を指定します。マップ内の開始日と終了日のキャパシティ (つまり、各日付の値、つまり 46) と範囲を確認したいと考えています。これはどのように行うことができますか?
日付の範囲で配列リストを作成できます。両方の構造(配列リストとツリーマップ)を同時に反復処理して、アイテムを比較するとうまくいくと思いました。よくわかりません。どう思いますか?
ナビゲート可能なマップ (ツリー マップなど) は、その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);
}