在Java中,Map
接口是一个非常重要的数据结构,它存储了键值对(key-value pairs)的映射关系。每个键最多映射到一个值。你可以通过键来查找对应的值。
以下是一些Map
的基本使用方法:
1. 导入Map接口和HashMap类
| import java.util.Map; |
| import java.util.HashMap; |
2. 创建Map对象
| Map<KeyType, ValueType> map = new HashMap<>(); |
这里,KeyType
和ValueType
分别代表键和值的类型。例如,如果你想要存储字符串键和整数值,你可以这样写:
| Map<String, Integer> map = new HashMap<>(); |
3. 添加键值对
例如:
| map.put("one", 1); |
| map.put("two", 2); |
| map.put("three", 3); |
4. 获取值
| ValueType value = map.get(key); |
例如:
| Integer value = map.get("one"); // 返回1 |
如果键不存在,get
方法会返回null
。
5. 检查键是否存在
| boolean exists = map.containsKey(key); |
6. 检查Map是否为空
| boolean isEmpty = map.isEmpty(); |
7. 删除键值对
8. 遍历Map
你可以通过entrySet()
方法遍历Map中的所有键值对:
| for (Map.Entry<KeyType, ValueType> entry : map.entrySet()) { |
| KeyType key = entry.getKey(); |
| ValueType value = entry.getValue(); |
| // 处理键值对 |
| } |
或者使用keySet()
和values()
方法分别遍历所有的键和值:
| // 遍历所有的键 |
| for (KeyType key : map.keySet()) { |
| ValueType value = map.get(key); |
| // 处理键和值 |
| } |
| |
| // 遍历所有的值 |
| for (ValueType value : map.values()) { |
| // 处理值 |
| } |
9. Map的大小
int size = map.size();
示例
下面是一个简单的示例,演示了如何使用Map
:
import java.util.Map;
import java.util.HashMap;
public class MapExample {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("one", 1);
map.put("two", 2);
map.put("three", 3);
System.out.println("Size: " + map.size());
System.out.println("Contains key 'one': " + map.containsKey("one"));
System.out.println("Value for key 'two': " + map.get("two"));
map.remove("one");
System.out.println("After removing 'one', size: " + map.size());
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
}
}
这个示例展示了如何添加、获取、删除键值对,检查键是否存在,遍历Map,以及获取Map的大小。