📅  最后修改于: 2023-12-03 15:07:31.836000             🧑  作者: Mango
哈希映射(Hash Map)是一种将键映射到值的数据结构。在 Java 中,哈希映射实现了 Map 接口,它提供了一些方法以允许我们像字典一样操作数据。Java 8 中引入了一个新的哈希映射实现,称为 HashMap。
在 Java 中,我们使用 HashMap 类来实现哈希映射。我们可以使用该类的构造函数来创建一个新的 HashMap 实例。下面是一个示例:
HashMap<String, Integer> map = new HashMap<>();
该代码使用 HashMap 构造函数创建了一个映射,将字符串键映射到整数值。一个 HashMap 可以存储任何类型的键/值对。
在下面的代码中,我们将三个键值对添加到哈希映射中:
map.put("John", 25);
map.put("Jane", 30);
map.put("Bob", 35);
该代码将 "John"、"Jane" 和 "Bob" 作为键,将 25、30 和 35 作为值添加到哈希映射中。
我们可以使用 get()
方法从哈希映射中检索值。例如,要获取键为 "Jane" 的值,我们可以执行以下操作:
int age = map.get("Jane");
该代码将返回哈希映射中键 "Jane" 所映射的值为 30。
我们可以使用迭代器(Iterator)或 forEach()
方法遍历哈希映射中的所有键和值。例如:
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String name = entry.getKey();
int age = entry.getValue();
System.out.println(name + " is " + age + " years old.");
}
该代码迭代哈希映射中的每个键值对,并打印每个人的姓名和年龄。
除了上述基本用法,哈希映射还有许多高级用法:
putIfAbsent(key, value)
:如果哈希映射中不存在指定键,则将指定键映射到指定值。getOrDefault(key, defaultValue)
:如果指定键在哈希映射中存在,则返回相应的值;否则返回默认值。replace(key, oldValue, newValue)
:如果指定键映射到指定的旧值,则将该键的值替换为新值。compute(key, BiFunction)
:使用指定的函数计算指定键的映射值,并将其放回哈希映射中。merge(key, value, BiFunction)
:如果指定键在映射中存在,则使用指定的函数将其值与指定的值组合;否则,将指定键/值映射插入映射中。哈希映射是一种常见的数据结构,Java 中的 HashMap 类实现了这种类型的映射。我们可以使用 HashMap 类的方法向哈希映射添加键值对、访问值和遍历映射。除了基本用法之外,哈希映射还有许多高级用法。