Map接口和Collection接口的不同
* Map是双列的,Collection是单列的
* Map的键唯一,Collection的子体系Set是唯一的
* Map集合的数据结构值针对键有效,跟值无关;Collection集合的数据结构是针对元素有效
Map集合的功能概述
- A:Map集合的功能概述
- a:添加功能
- V put(K key,V value):添加元素。
- 如果键是第一次存储,就直接存储元素,返回null
- 如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
- b:删除功能
- void clear():移除所有的键值对元素
- V remove(Object key):根据键删除键值对元素,并把值返回
- c:判断功能
- boolean containsKey(Object key):判断集合是否包含指定的键
- boolean containsValue(Object value):判断集合是否包含指定的值
- boolean isEmpty():判断集合是否为空
- d:获取功能
- Set<Map.Entry<K,V>> entrySet():
- V get(Object key):根据键获取值
- Set keySet():获取集合中所有键的集合
- Collection values():获取集合中所有值的集合
- e:长度功能
Map集合的四种遍历方法
利用Entry方法遍历
Map<String,String> map = new HashMap<>();
/**
* Entry方法,常用高效率
*/
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key="+entry.getKey()+"--"+"value="+entry.getValue());
}
单独获取key与value
Map<String,String> map = new HashMap<>();
/**
* 单独获取key与value
*/
for (String key : map.keySet()) {
System.out.println("key="+key);
}
for (String value : map.values()) {
System.out.println("value"+value);
}
利用迭代器对集合进行遍历,此方法使用于对元素删减
Map<String,String> map = new HashMap<>();
Iterator<Entry<String, String>> iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Entry<String, String> next = iterator.next();
System.out.println("key="+next.getKey()+"--"+"value="+next.getValue());
}
先获取key值,在通过key值获取value
Map<String,String> map = new HashMap<>();
for (String key : map.keySet()) {
String value = map.get(key);
System.out.println("key="+key+"--"+"value="+value);
}