Map是一种依照键(key)存储元素的容器,键很像下标,在List中下标是整数,在Map中键可以使任意类型的对象。Map中不能有重复的键,每个键都有一个对应的值(value)


一个键和它对应的值构成map集合中的一个元素,Map中的元素是两个对象,一个对象作为键,一个对象作为值。键不可以重复,但是值可以重复。


1.Map集合特点

1)Map集合是一个双列集合,一个元素包含两个值,一个是key,一个是value。

2)Map集合中的元素,key和value可以相同也可以不同。

3)Map集合中的元素,key是不允许重复的,value是可以重复的。

4)Map集合中的元素,key和value是一一对应的。


2.Map集合常用子类

1)HashMap集合

HashMap集合底层是哈希表,查询速度特别快。JDK 1.8之前是数组+单向链表,JDK 1.8之后是数组+单向链表/红黑树(链表的长度超过8)。HashMap集合是一个无序的集合,存储的元素和取出的元素的顺序有可能不一致。

2)LinkedHashMap集合

LinkedHashMap集合底层是哈希表+链表,该集合是一个有序的集合,存储元素和取出元素的顺序一致的。


3.Map接口中的常用方法

1)public V put(K key,V value)

把指定的键与制定的值添加到Map集合中,返回值V,存储键值对的时候,key不重复,返回值V是null;key重复,则会使用新的value替代Map中重复的value,返回被替代的value值。

2)public V remove(Object key)

把指定的键所对应的键值对元素在Map集合中删除,返回被删除元素的值,返回值V,key存在,V返回被删除的值;key不存在,V返回null。

3)public V get(Object key)

根据指定的键,在Map集合中获取对应的值,返回值V,key存在,V返回对应的值;key不存在,V返回null。


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)