1. 程式人生 > >HashMap的putAll方法介紹說明

HashMap的putAll方法介紹說明

jdk1.8

使用putAll時,新map中的值僅為舊map值所對應物件的引用,並不會產生新物件。

如下,使用for迴圈賦值!

public void putAll(Map<? extends K, ? extends V> m) {
putMapEntries(m, true);
}
final void putMapEntries(Map<? extends K, ? extends V> m, boolean evict) {
int s = m.size();
if (s > 0) {
....
    ....
for (Map.Entry<? extends K, ? extends V> e : m.entrySet()) {
K key = e.getKey();
V value = e.getValue();
putVal(hash(key), key, value, false, evict);
}
}
}