📜  哈希映射 java (1)

📅  最后修改于: 2023-12-03 15:07:31.836000             🧑  作者: Mango

哈希映射 Java

哈希映射(Hash Map)是一种将键映射到值的数据结构。在 Java 中,哈希映射实现了 Map 接口,它提供了一些方法以允许我们像字典一样操作数据。Java 8 中引入了一个新的哈希映射实现,称为 HashMap。

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 类的方法向哈希映射添加键值对、访问值和遍历映射。除了基本用法之外,哈希映射还有许多高级用法。