Java成神路 —— Map
原创
©著作权归作者所有:来自51CTO博客作者繁依Fanyi的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
- 1.1 Map 概述
- 1.2 Map 的特点
- 1.3 示例代码
1. Map 概述和特点
1.1 Map 概述
- Map 是一种 键值对(Key-Value)
- 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<>();
// 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 示例代码
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);
}
}
}