Map接口详解
Map接口详解
1.Map接口特点
- Map 和Collection并列存在,用于保存具有映射关系的数据,即一个键值对(key -- value)
- Map中的key和value可以是任何引用类型的数据,会封装到HashMap$Node对象中(Node是一个内部类)
- Map中的key不允许重复(hash算法),原因和HashSet一样
- Map的value可以重复
- Map的key可以是null, value也可以是null,注意key为null只能有一个,value为null,可以多个
- 常用String类作为Map的key
- key和value之间存在单向一对一关系,即通过指定的key总能找到对应的value
- Map存放数据的key-value是存放在HashMap$Node中的一对键值对,因为Node实现了Entry接口,所以也可以说一个key-value就是一个Entry
2. 常用方法
1.put()
2. remove()
3.get()
4.size()
5.isEmpty()
6.clear()
7.containsKey()
8.containsValue()
说明:都是一些见名知意的方法,具体查看API
3.Map接口遍历方法
- keySet方法将所有的键封装到一个集合中,然后可以通过遍历这个集合,通过key拿到value
- entrySet方法将所有的键值对封装到一个Entry集合中,调用Entry的方法遍历
-
增强for
-
迭代器(Map集合都可以获取一个迭代器,然后通过迭代器迭代)
while(iterator.hasNext){
iterator.next
}
-
取出所有的values,封装到集合,然后遍历集合
-
通过entrySet获取 k - v
-
通过keySet获取key,然后遍历key集合获取value

浙公网安备 33010602011771号