一、常用方法简述
1.添加功能
V put(K key,V value):添加元素
如果键是第一次存储,则直接存储元素,返回null。
如果键不是第一次存储,就用值把以前的值替换,返回以前的值。
2.删除功能
void clear():移除所有的键值对元素
V remove(Object key):根据键删除键值对元素,并把值返回。
3.判断功能
boolean containsKey(Object key):判断集合是否包含指定的键
boolean containsValue(Object value):判断集合是否包含指定的值
boolean isEmpty():判断集合是否为空
4.获取功能
Set<Map.Entry<K,V>> entrySet( ):获取键值对对象 //Map.Entry<K,V>说明Entry是Map的内部接口,然后将键和值封装成 Entry对象,并存储在Set集合中。
V get(Object key):根据键获取值
Set<K> keySet():获取集合中所有键的集合
Collection<V> values():获取集合中所有值的集合
二、Map集合的遍历方法
1.先获取键集合,再遍历键并且获取值
①先获取键集合,用迭代器遍历并获取值
输出结果:
②先获取键集合,用增强for循环遍历获取值
输出结果:
2.获取键值对对象,然后获取键和值
①先获取键值对对象Entry,再用迭代器进行遍历
输出结果:
②先获取键值对对象Entry,再用增强for遍历
输出结果:
三、3种常用实现类应用场景
①HashMap:无序存储,基于哈希表实现,采用HashCode方法定位地址,正常用于统计等。
②LinkedHashMap:有序存储,链表实现,如果需要输出和存取顺序一致则使用此类。
③TreeMap:有序存储并且可以进行排序,通过二叉树实现,如果需要有序输出或按自定义顺序输出则采用此类。
注意:TreeMap在使用时,若存储的类型是自定义类型,则跟TreeSet使用时一样,需要自定义类实现Comparable接口重写 compareTo方法或者创建一个比较器传入TreeMap中。//详细可参考我的《TreeSet除重、排序实现方式》
觉得有用的小伙伴请点赞、评论或收藏一下多支持支持博主小弟,跪安~~