import java.util.*;
class MapDemo
{
public static void main(String[] args)
{
Map<String, String> map = new HashMap<String,String>();
//添加元素 添加元素,如果出现添加时,相同的键。那么后添加的值会覆盖原有键对应值。
//并且put方法会返回被覆盖的值。
sop("put:"+map.put("01","zhangsan1"));
sop("put:"+map.put("01","123"));
map.put("02","zhangsan2");
map.put("03","zhangsan3");
sop("containsKey:" + map.containsKey("02"));
sop("remove:"+map.remove("020"));
sop("get:" + map.get("02"));
map.put(null,"该值键是null");
sop("get:" + map.get(null));
map.put("04",null);
sop("get:" + map.get("04"));
Collection<String> coll = map.values();//这里,为什么可以直接这样子。map不是collection的子接口也不是实现类。
sop(coll);
sop(map);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
补充一个问题:在添加元素下面的两行代码
sop("put:"+map.put("01","zhangsan1"));
sop("put:"+map.put("01","123"));
这里,为什么如果只打印第一行代码,返回值是null我查看了API,其解释为:以前与 key 关联的值,如果没有针对 key 的映射关系,则返回 null。(如果该实现支持 null 值,则返回 null 也可能表示此映射以前将 null 与 key 关联)。
这段话不是很明白。
郎朗坤
相关分类