下面的程序验证了Map的putAll方法的行为特性,代码如下:
import java.util.HashMap;
public class Map_putAllTest {
public static void main(String[] args){
//两个map具有不同的key
HashMap map1=new HashMap();
map1.put("1", "A");
HashMap map2 = new HashMap();
map2.put("2", "B");
map2.put("3", "C");
map1.putAll(map2);
System.out.println(map1);
//两个map具有重复的key
HashMap map3=new HashMap();
map3.put("1", "A");
HashMap map4 = new HashMap();
map4.put("1", "B");
map4.put("3", "C");
map3.putAll(map4);
System.out.println(map3);
}
}
保存为F:\Map_putAllTest.java,编译和运行结果如下:
F:>javac Map_putAllTest.java
注意:Map_putAllTest.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
F:>java Map_putAllTest
{3=C, 2=B, 1=A}
{3=C, 1=B}
F:>
上例说明A.putAll(B)方法就是将B的内容全部放入A中,如果有重复的key1,则用B中key1对应的value(B.get(key1))覆盖A中key1对应的value。