Map接口集合是一种双列表集合,每个元素包含两个数据
Map集合的每个元素的格式:key=value(键值对元素)
key(键):不允许重复
value(值):允许重复
键和值是一一对应的,每个键只能找到自己对应的值
key+value这个整体 我们称之为“键值对”或者“键值对对象”
在java中使用Entry对象表示
Map集合常用API
public V put (K key,V value) 添加元素(修改:如果键已经存在,就会使用新值,替换旧值)
返回被覆盖的旧值
public V remove(Object key) 根据键删除键值对元素
返回被删除的键所对应的值
public V void clear 移除所有的键值对元素
public V boolean containskey(Object key) 判断集合是否包含指定的键
public V boolean containsValue(Object value) 判断集合是否包含指定的值
public V boolean isEmpty 判断集合是否为空
public int size() 集合的长度,也就是集合中键值对的个数
双列集合底层的数据结构,都是针对键有效,跟值没有关系
HashMap:键唯一(重写Hashcode和equals)
TreeMap:键排序(实现Comparable接口,重写Compar To方法)
LinkedHashMap:键唯一,保证存取排序
总结:
1.HashMap底层是哈希表结构的
2.依赖hashCode方法和equals方法保证唯一性
3.如果键存储的是自定义对象,需要重写hashCode和equals方法