- Map是一个双列集合,一个元素包含两个值(一个key,一个value)
- Map集合中的元素,key和value的数据类型可以相同,也可以不同
- Map中的元素,key不允许重复,value可以重复
- Map里的key和value是一一对应的
- HashMap低是哈希表,查询熟读非常快(jdk1.8之前是数组+单向链表,1.8之后是数组+单项链表/红黑树,链表长度超过8时,换成红黑树)
- HashMap是无序的集合吗,存储元素和取出元素的顺序有可能不一致
- HashMap集合是不同步的,也就是说是多线程不安全,但速度快
1.HashMap常用方法
hashMap<String,String>map=new HashMap<>();
map.put("北京","key存在的oldvalue");
map.put("上海",null);
map.put("广州","oldvalue");
map.put(null,"null的oldValue");
map.putIfAbsent(null,"null的newValue");
map.putIfAbsent("杭州","key不存在的value");
map.putIfAbsent("北京","key存在的niwValue");
map.putIfAbsent("上海","null值被覆盖");
map.replace("广州","replaceValue"