Map是一种依照键(key)存储元素的容器,键很像下标,在List中下标是整数,在Map中键可以使任意类型的对象。Map中不能有重复的键,每个键都有一个对应的值(value)。
一个键和它对应的值构成map集合中的一个元素,Map中的元素是两个对象,一个对象作为键,一个对象作为值。键不可以重复,但是值可以重复。
1)Map集合是一个双列集合,一个元素包含两个值,一个是key,一个是value。
2)Map集合中的元素,key和value可以相同也可以不同。
3)Map集合中的元素,key是不允许重复的,value是可以重复的。
4)Map集合中的元素,key和value是一一对应的。
HashMap集合底层是哈希表,查询速度特别快。JDK 1.8之前是数组+单向链表,JDK 1.8之后是数组+单向链表/红黑树(链表的长度超过8)。HashMap集合是一个无序的集合,存储的元素和取出的元素的顺序有可能不一致。
LinkedHashMap集合底层是哈希表+链表,该集合是一个有序的集合,存储元素和取出元素的顺序一致的。
把指定的键与制定的值添加到Map集合中,返回值V,存储键值对的时候,key不重复,返回值V是null;key重复,则会使用新的value替代Map中重复的value,返回被替代的value值。
把指定的键所对应的键值对元素在Map集合中删除,返回被删除元素的值,返回值V,key存在,V返回被删除的值;key不存在,V返回null。
根据指定的键,在Map集合中获取对应的值,返回值V,key存在,V返回对应的值;key不存在,V返回null。