Map
1.1 Map的概述和特点
Map集合概述
- Integer Map<K,V> K:键的类型 V:值的类型
- 将键映射到值得对象;不能包含重复的键;每个键可以映射到最多一个值
- 举例:学生的学号和姓名
创建Map集合的对象
- 多态的方式
- 具体的实现类HashMap
- 当键值相同的时候,会修改原来此键的数据
import java.util.HashMap;
import java.util.Map;
public class MapDemo01 {
public static void main(String[] args) {
//创建map对象
Map<String,String> map = new HashMap<>();
//添加元素 put()
map.put("001","林青霞");
map.put("002","小明");
map.put("003","小红");
map.put("004","张");
map.put("003","小");//当键值相同的时候,会修改原来此键的数据
System.out.println(map);
}
}
1.2 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() | 集合的长度,也就是集合中键值对的个数 |
1.3 Map集合的获取功能
方法名 | 说明 |
---|---|
V get(Object key) | 根据键获取值 |
Set keySet() | 获取所有键值的集合 |
Collection values() | 获取所有值的集合 |
Set<Map.Entry<K,V>>entrySet() | 获取所有键值对对象的集合 |
2.1 Map集合的遍历(方式1)
- 获取所有键的集合,用keySet()方法实现
- 遍历键的集合,获取到每一个键。用增强for实现
- 根据键去找值。用get(Object key)方法实现
//创建集合对象
Map<String,String> map = new HashMap<String, String>();
//添加元素
map.put("张无忌","赵敏");
map.put("郭靖","黄蓉");
map.put("杨过","小龙女");
//获取所有键的集合,用KeySet()方法实现
Set<String> strings = map.keySet();
//遍历集合
for(String i:strings){
String value = map.get(i);
System.out.println(i+","+value);
}
2.2 Map集合的遍历(方式2)
- 获取所有键值对的对象的集合
Set<Map,Entry<K,V>> entrySet():获取所有键值对对象的集合
- 遍历键值对对象的集合,得到每一个键值对对象
用增强for实现,得到每一个Map.Entry
- 根据键值对对象获得键和值
用getKey()得到键<--------->用getValue()得到值
//创建集合对象
Map<String,String> map = new HashMap<String, String>();
//添加元素
map.put("张无忌","赵敏");
map.put("郭靖","黄蓉");
map.put("杨过","小龙女");
//获取所有键值对对象
Set<Map.Entry<String, String>> entries = map.entrySet();
//遍历键值对对象集合,得到每一个键值对对象
for(Map.Entry<String, String> me:entries){
//根据对象分别得到(key和value)
String key = me.getKey();
String value = me.getValue();
System.out.println(key+","+value);
}