Map集合
Map集合的基本方法
方法名 | 说明 |
---|---|
V put(K key,V value) | 添加元素 |
V remove(Object key) | 根据键删除键值对元素 |
void clear() | 移除所有键值对元素 |
boolean containsKey(Object key) | 判断集合是否包含指定元素 |
boolean containsValue(Object value) | 判断集合是否包含指定的值 |
boolean isEmpty() | 判断集合是否为空 |
int size() | 集合的长度,也就是集合中键值对的个数 |
Map集合的获取功能
方法名 | 说明 |
---|---|
V get(Object key) | 根据键获取值 |
Set<K> keySet() | 获取所有键的集合 |
Collection<V> values() | 获取所有值的集合 |
Set<Map.Entry<K,V>>entrySet() | 获取所有键值对对象的集合 |
Map集合的遍历(方式一)
由于Map集合存储的元素都是成对出现的,所以可以把Map集合看成是一个夫妻对的集合,那么遍历思路是:
- 把所有的丈夫给集中起来
- 遍历丈夫的集合,获取到每一个丈夫
- 根据丈夫去找对应的妻子
转换为Map集合中的操作:
- 获取所有键的集合,用keySet()方法实现
- 遍历键的集合,获取到每一个键,用增强for实现
- 根据键去找值,用get(Object key)方法实现
public static void main(String[] args) {
Map<String,String> map=new HashMap<>();
map.put("张无忌","赵敏");
map.put("郭靖","黄蓉");
map.put("杨过","小龙女");
//1.获取所有键的集合
Set<String> keySet = map.keySet();
//2.遍历键的集合,获取到每一个键
for(String key:keySet){
//3.根据键去找值
String value = map.get(key);
System.out.println(key+","+value);
}
}
Map集合的遍历(方式二)
我们刚才存储的元素都是成对出现的,所以我们把Map集合看成是一个夫妻对的集合,遍历思路:
- 获取所有结婚证的集合
- 遍历结婚证的集合,得到每一个结婚证
- 根据结婚证获取丈夫和妻子
转换成Map集合中的操作:
- 获取所有键值对对象的集合,Set<Map.Entry<K,V>>entrySet():获取所有键值对对象的集合
- 遍历键值对对象的集合,得到每一个键值对对象,用增强for实现,得到每一个Map.Entry
- 根据键值对对象获取键和值,用getKey()得到键,用getValue()得到值
public static void main(String[] args) {
Map<String,String> map=new HashMap<>();
map.put("张无忌","赵敏");
map.put("郭靖","黄蓉");
map.put("杨过","小龙女");
//1.获取所有键值对对象的集合
Set<Map.Entry<String, String>> entries = map.entrySet();
//2.遍历键值对对象的集合,得到每一个键值对对象
for(Map.Entry<String, String> m:entries){
//3.根据键值对对象获取键和值
String key = m.getKey();
String value = m.getValue();
System.out.println(key+","+value);
}
}