Я пытаюсь получить подкачку LinkedHashMap
на основе индекса элемента. Я изобретаю колесо здесь? Похоже, это должно быть где-то в API уже:Как получить подменю LinkedHashMap по индексу элемента?
public <K,V> LinkedHashMap<K,V> subMap(LinkedHashMap<K,V> map, int fromIndex, int toIndex) {
LinkedHashMap<K,V> result = new LinkedHashMap<K,V>();
int i=0;
for(Map.Entry<K,V> entry : map.entrySet()) {
if(i >= fromIndex && i < toIndex) {
result.put(entry.getKey(), entry.getValue());
}
i++;
}
return result;
}
Является ли это путь или есть некоторые другие лучше/существующие решения (в рамках Java 6 API).
Как будет использоваться возвращенная «Карта»? Можете ли вы использовать итератор вместо этого? Если это так, вы можете вернуть пользовательский итератор, который возвращает значения (или Map.Entries) между указанным диапазоном индексов. Помните о проблемах параллелизма при работе с диапазонами индексов коллекции. – Nate