java进阶-第九讲 Map
1 什么是Map
map:地图。地图用来干什么的?通过地图上的标识我们可以找到具体的地方。
这里有两个关键的东西:
地图上的标识,具体的地方:
1.地图上的标识和具体的地方一定是一一对应的。
2.标识是不能重复的,具体的地方是可以重复的
(两个标识可以指的是同一个具体的地方),这说明具体的地方是可以重复的
只不过它有两个名字而已。
3.我们通过地图上的标识去找到现实中具体的地方
4.我们可以将标识看做是索引。通过这个索引可以找到对应的具体位置。
java中map是一种数据结构:
这种数据结构,和现实中的地图使用方式一致。所以叫做map
map中有两个属性,一个是key,另外一个是value,也叫作键值对
key和value构成了键值对,一个键对应一个值。
"changsha" --- 湖南长沙
"beijing" ---- 首都
"modu" ---- 上海
比如:
1 -- zhangsan
2 -- lisi
注意:键一定不能重复,也就是key不可重复,因为key重复了
那么我们就无法通过key拿到一个唯一的value
以前,我们用数组,数组有一个唯一下标,通过这个下标可以访问下标对应的具体内容
这个下标是默认的,是有序的
但是在map中,key一定要给出,而且唯一。
key是无序的,value也是无序的
map这种数据结构,就是用来通过key找到value。
2 java中的Map接口
Interface Map<K,V>
K -- key
V -- value
使用了泛型之后,会使得key和value的类型被固定下来。
如果没有泛型,key和value的类型是可以不固定的
在应用中,我们往往是通过一种数据结构存储一种类型的数据,一般情况下不会混着用
K的类型,和V的类型,是可以不一样的。
Map中重要的方法:
V put(K key, V value):这个方法是干什么的?
向Map对象中放入key和key对应的value
取出呢?get
取什么?取什么有意义?
取一个具体的东西,什么是具体的?value
怎么取value?
通过key去取,因为key是唯一的,那么通过key就能拿到一个确定的值,具体的值。
V get(K key)
通过key去拿value
在map中,一条数据指的是一个K V键值对。