該方法用來追加另一個Map對象到當前Map集合對象,它會把另一個Map集合對象中的所有內容添加到當前Map集合對象。
語法? putAll(Map<? extends K,? extends V> m)?
m:一個Map集合對象。
典型應用? 本示例創建一個Map集合對象,為它添加一些內容并輸出該集合的大小,然后創建第二個Map集合對象,也添加一些內容,輸出集合大小,最后把第二個Map集合添加到第一個Map集合對象,再次輸出第一個集合的大小。運行結果如圖1.28所示。
?
本示例的關鍵代碼如下:
public static void main(String[] args) {
??Map map1 = new HashMap();??????//定義Map集合對象
??? map1.put("apple", "新鮮的蘋果");?????//向集合中添加對象
??? map1.put("computer", "配置優良的計算機");
??? map1.put("book", "堆積成山的圖書");
??? System.out.println("第一個Map集合大小為:"+map1.size())?//輸出集合長度
??? Map map2 = new HashMap();??????//定義Map集合map2
??? map2.put("apple2", "新鮮的蘋果");?????//向集合中添加對象
??? map2.put("computer2", "配置優良的計算機");
??? map2.put("book", "堆積成山的圖書");
??? System.out.println("第二個Map集合大小為:"+map2.size());?//輸出集合長度
??? System.out.println("把第二個Map集合添加到第一個Map集合中");
??? map1.putAll(map2);????????//將map2中的對象添加到map1中
??? System.out.println("整合后的第一個Map集合大小為:"+map1.size());
}
整合后的Map集合大小是5而不是6,那是因為兩個Map集合中有一個重復的鍵名“book”,Map集合的鍵名是不能重復的,所以新的“book”鍵值取代了舊的“book”鍵值。