浅谈Map接口
Map接口描述
将键映射到值的对象。Map<K,V>不能包含重复的键;每个键最多可以映射到一个值。
这个接口代替了 Dictionary class,其中Dictionary是一个完全抽象的类,而不是接口。
为了实现将键映射到值,Map中有一个子接口Entry<K,V>
也就是说,一个Key对应一个Value,通过Key,可以查询到对应的Value
Map接口方法
增:V put(K,V)在集合中添加一个元素
putAll(Map<? extends K>,<? extends V>)将Map集合的全部添加到集合中
删:remove(Object,Object):删除指定的K对应的元素
clear()删除集合中所有的元素
改:由于Map的存放是根据Key来决定位置,所以不能改变Key,只能改变Value
这两个方法一个返回自己原来的Value,一个返回boolean类型。
查:get(K)获得这个Key对应的Value
containsKey(K) 查看这个Key是否存在
containsValue(V)查看这个Value是否存在
遍历:EntrySert()KeySet()forEach()
实现子类
HashMap:采用(JDK1.7)数组+链表,(JDK1.8)数组+链表+红黑树
LinkedHashMap:采用链表实现
TreeMap:采用红黑树实现