Java Сравнение элементов в Arraylist с аналогичными элементами в TreeMap - PullRequest
0 голосов
/ 18 ноября 2011

У меня есть TreeMap, который содержит все даты данного года в качестве ключей, а значение для каждого ключа равно 46. Теперь пользователь предоставляет дату начала и дату окончания. Я хочу проверить емкость (то есть значение для каждой даты, то есть 46) для даты начала и даты окончания и диапазона между ними на карте. Как это можно сделать?

Я могу создать arraylist с диапазоном дат, и я подумал, что, может быть, итерации по обеим структурам (arraylist и treemap) одновременно, и сравнение элементов будет работать. Не уверен, хотя. Что ты думаешь?

1 Ответ

2 голосов
/ 18 ноября 2011

Навигационная карта (например, древовидная карта) может дать вам карту с диапазоном клавиш с помощью метода 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);
}
...