- map是双支集合,一次性添加一对元素, 分为key(键)和value(值)
- HashMap是无序+唯一的
1.唯一
在使用Map接口的put(key,value)方法向Map集合中添加数据的时候,它会根据key进行比对,如果当前插入的元素的key与旧数据的key相同,则它会覆盖。(类似于HashSet存值的过程)
2.无序
对Map插入数据的时候,根据key的数据值进行排序,导致System.out.println(map);显示的数据顺序和存储的顺序不同。
3.Map是双支集合,不继承Collection单只集合的方法
- put(key,value); --向map集合中进行数值添加
- remove(key) --在map集合中匹配到对应的key值,并删除整条记录
- get(key) --在map集合中匹配key对应的value值并返回
- containsKey(key) --判断集合中是否存在key‘值
- containsValue(value) --判断value值是否存在于map集合中
- size() --返回当前集合关系数目
- keySet() --返回一个Set集合(因为key是唯一并且无序,所以使用Set去接收。)
- entrySet() – 将Map集合按照记录进行横向切割,获取每一条记录的操作权。
想要对HashMap进行修改需要使用entrySet
Set<Map.Entry<E,E>> set = map.entrySet();
//运用到forEach进行修改,和普通Set集合的删除进行区分
for( Map.Entry<E,E> ss : set ){
E key = ss.getKey();
E value = ss.getValue();
//只可以修改value值,不可以在这里面使用map集合的put和remove操作汇报CME错误
ss.setValue(newValue);
System.out.println(key + " " + value);
}