Sto cercando di ottenere un riassunto di LinkedHashMap
in base all'indice degli elementi. Sto reinventando la ruota qui? Suona come questo dovrebbe essere da qualche parte nel API già:Come ottenere la sottomissione di LinkedHashMap per indice elemento?
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;
}
È questo il modo di andare o ci sono alcune altre/soluzioni esistenti migliori (all'interno di Java 6 API).
Come verrà utilizzata la 'mappa' restituita? Puoi usare un iteratore invece? In tal caso, è possibile restituire un iteratore personalizzato che restituisce valori (o Map.Entries) nell'intervallo di indice specificato. Tenere presente i problemi di concorrenza quando si gestiscono intervalli di indice di una raccolta. – Nate