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