1. Map 概述和特点
1.1 Map 概述
- Map 是一种 键值对(Key-Value) 集合,Map 集合中的每一个元素都包含一个键对象和一个值对象。
- Map 接口主要有两个实现类:HashMap 类和 TreeMap 类
interface Map<K,V>
K:键的类型
V:值的类型
1.2 Map 的特点
- 键值对映射关系
- 一个键对应一个值
- 键不能重复,值可以重复
- 元素存取无序
1.3 示例代码
import java.util.HashMap;
import java.util.Map;
public class Demo {
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
map.put("001","小明");
map.put("002","小红");
map.put("003","小兰");
map.put("004","小明");
System.out.println(map);
}
}
2. Map 的基本功能
2.1 方法介绍
方法名 | 说明 |
---|
V put(K key,V value) | 添加元素 |
V remove(Object key) | 根据键删除键值对元素 |
void clear() | 移除所有的键值对元素 |
boolean containsKey(Object key) | 判断集合是否包含指定的键 |
boolean containsValue(Object value) | 判断集合是否包含指定的值 |
boolean isEmpty() | 判断集合是否为空 |
int size() | 集合的长度,也就是集合中键值对的个数 |
2.2 示例代码
import java.util.HashMap;
import java.util.Map;
public class Demo {
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
map.put("001","小明");
map.put("002","小红");
map.put("003","小兰");
map.put("004","小明");
map.remove("001");
System.out.println(map);
map.clear();
System.out.println(map);
System.out.println(map.containsKey("001"));
System.out.println(map.isEmpty());
System.out.println(map.size());
}
}
3. Map 获取功能
3.1 方法介绍
方法名 | 说明 |
---|
V get(Object key) | 根据键获取值 |
Set keySet() | 获取所有键的集合 |
Collection values() | 获取所有值的集合 |
Set<Map.Entry<K,V>> entrySet() | 获取所有键值对对象的集合 |
3.2 示例代码
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Demo {
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
map.put("001","小明");
map.put("002","小红");
map.put("003","小兰");
map.put("004","小明");
System.out.println(map.get("001"));
System.out.println(map.get("003"));
Set<String> keySet = map.keySet();
for(String key : keySet) {
System.out.println(key);
}
Collection<String> values = map.values();
for(String value : values) {
System.out.println(value);
}
}
}