java中如何映射
映射的概念
在Java中,映射(Map)是一种存储键值对(Key-Value Pair)的数据结构,允许通过键快速查找对应的值。常见的实现类包括 HashMap、TreeMap 和 LinkedHashMap。
创建映射
使用 HashMap 作为示例:
Map<String, Integer> map = new HashMap<>();
String表示键的类型,Integer表示值的类型。- 其他实现类如
TreeMap会按键的自然顺序排序,LinkedHashMap会保持插入顺序。
添加键值对
通过 put 方法添加元素:
map.put("apple", 10);
map.put("banana", 20);
如果键已存在,put 会覆盖旧值。
获取值
通过 get 方法根据键获取值:
Integer value = map.get("apple"); // 返回 10
若键不存在,返回 null。
检查键或值是否存在
containsKey检查键是否存在:boolean hasKey = map.containsKey("apple");containsValue检查值是否存在:boolean hasValue = map.containsValue(20);
遍历映射
通过 entrySet、keySet 或 values 方法遍历:
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
keySet返回所有键的集合,values返回所有值的集合。
删除键值对
通过 remove 方法删除指定键的条目:
map.remove("banana");
其他常用方法
size返回映射中的键值对数量:int size = map.size();clear清空映射:map.clear();
线程安全的映射
ConcurrentHashMap 或 Collections.synchronizedMap 可用于多线程环境:
Map<String, Integer> syncMap = Collections.synchronizedMap(new HashMap<>());
使用示例
以下是一个完整示例:

Map<String, Integer> inventory = new HashMap<>();
inventory.put("apples", 50);
inventory.put("oranges", 30);
System.out.println(inventory.get("apples")); // 输出 50
通过以上方法,可以高效地操作和管理键值对数据。






