Implementacja Java HashMap ma "następnego" członka w klasie prywatnej Entry. Ponieważ nowa wartość klucza zastąpi starą wartość, jakie jest użycie "następnego" członka w klasie Entry.Implementacja Java HashMap ma "następnego" członka w klasie Entry. Jaki jest jego pożytek?
static class Entry<K,V> implements Map.Entry<K,V> {
final K key;
V value;
Entry<K,V> next;
final int hash;
/**
* Creates new entry.
*/
Entry(int h, K k, V v, Entry<K,V> n) {
value = v;
next = n;
key = k;
hash = h;
}
.....
}
... ponieważ każdy zasobnik jest zaimplementowany jako lista powiązana – Bohemian
Dzięki .. Rozumiem, że jest to implementacja listy powiązanej .. Ale jak możemy uzyskać wszystkie wartości z mapy. Dostajemy tylko ostatnią wstawioną jedną dla tego samego klucza. –
Jest tylko jedna wartość na klucz. Stare wartości nie są pozostawione na mapie; to byłoby bezcelowe. Ale można uzyskać zbiór wartości (oczywiście jedną wartość na klucz) za pomocą 'HashMap.values ()'. –