該方法用來追加另一個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”鍵值。