如何创建和填充 Java 映射

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

Java 映射(Map)是一种通用的数据结构,它使你能够高效地存储和检索数据。在本教程中,我们将指导你完成创建和填充 Java 映射的过程,为你提供必要的技能,以便在你的 Java 编程工作中利用这个强大的工具。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/DataStructuresGroup(["Data Structures"]) java(("Java")) -.-> java/ProgrammingTechniquesGroup(["Programming Techniques"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/DataStructuresGroup -.-> java/collections_methods("Collections Methods") java/ProgrammingTechniquesGroup -.-> java/method_overloading("Method Overloading") java/ProgrammingTechniquesGroup -.-> java/method_overriding("Method Overriding") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/hashmap("HashMap") subgraph Lab Skills java/collections_methods -.-> lab-415490{{"如何创建和填充 Java 映射"}} java/method_overloading -.-> lab-415490{{"如何创建和填充 Java 映射"}} java/method_overriding -.-> lab-415490{{"如何创建和填充 Java 映射"}} java/classes_objects -.-> lab-415490{{"如何创建和填充 Java 映射"}} java/hashmap -.-> lab-415490{{"如何创建和填充 Java 映射"}} end

理解 Java 映射

Java 映射是一种基本的数据结构,它允许你存储键值对。它们是 Java 集合框架的一部分,并提供了一种在 Java 应用程序中组织和访问数据的强大方式。

Java 映射是一个实现了 java.util.Map 接口的对象。它存储一组键值对,其中每个键都是唯一的,并与一个相应的值相关联。当你需要根据唯一标识符或键快速查找值时,映射非常有用。

Java 映射的一些常见用例包括:

  • 缓存:存储经常访问的数据以便快速检索。
  • 查找表:将唯一标识符映射到相关数据。
  • 配置管理:存储应用程序设置和属性。
  • 统计出现次数:跟踪元素在数据集中出现的次数。

Java 提供了 Map 接口的几种实现,包括 HashMapTreeMapLinkedHashMap。每种实现在性能、排序和行为方面都有其自身的特点和权衡。

graph LR Map --> HashMap Map --> TreeMap Map --> LinkedHashMap

要创建和使用 Java 映射,你需要了解基本操作,例如添加、检索和删除键值对。在下一节中,我们将深入探讨创建 Java 映射的细节。

创建 Java 映射

要创建 Java 映射,你可以使用可用的实现类之一,例如 HashMapTreeMapLinkedHashMap。每种实现都有其自身的特点和权衡,因此你需要选择最适合你用例的那个。

实例化 HashMap

HashMapMap 接口最常用的实现。它以无序方式存储键值对,并为大多数操作提供常数时间性能。

以下是在 Java 中创建 HashMap 的示例:

Map<String, Integer> myMap = new HashMap<>();

在此示例中,我们创建了一个存储 String 键和 Integer 值的 HashMap

实例化 TreeMap

TreeMapMap 接口的一种实现,它将键值对存储在红黑树数据结构中。这为大多数操作提供了有保证的对数时间性能,并且键按排序顺序存储。

以下是在 Java 中创建 TreeMap 的示例:

Map<String, Integer> myMap = new TreeMap<>();

在此示例中,我们创建了一个存储 String 键和 Integer 值的 TreeMap

实例化 LinkedHashMap

LinkedHashMapHashMap 的变体,它维护键值对的插入顺序。当你需要保留映射中元素的顺序时,这可能会很有用。

以下是在 Java 中创建 LinkedHashMap 的示例:

Map<String, Integer> myMap = new LinkedHashMap<>();

在此示例中,我们创建了一个存储 String 键和 Integer 值的 LinkedHashMap

现在你已经知道如何创建 Java 映射了,让我们继续填充和访问映射中存储的数据。

填充和访问映射数据

既然你已经知道如何创建 Java 映射了,那么让我们来探讨如何填充和访问其中存储的数据。

填充映射

你可以使用 put() 方法向映射中添加键值对。以下是一个示例:

Map<String, Integer> myMap = new HashMap<>();
myMap.put("apple", 5);
myMap.put("banana", 3);
myMap.put("cherry", 10);

在此示例中,我们创建了一个 HashMap 并向其中添加了三对键值对。

你还可以使用 putAll() 方法一次性添加多个键值对:

Map<String, Integer> anotherMap = new HashMap<>();
anotherMap.put("orange", 7);
anotherMap.put("grape", 12);

myMap.putAll(anotherMap);

这会将 anotherMap 中的键值对添加到 myMap 中。

访问映射数据

要获取与特定键相关联的值,可以使用 get() 方法:

int bananaCount = myMap.get("banana"); // 返回 3

如果键在映射中不存在,get() 方法将返回 null

你还可以使用 containsKey() 方法检查映射中是否存在某个键:

boolean hasApple = myMap.containsKey("apple"); // 返回 true
boolean hasPear = myMap.containsKey("pear"); // 返回 false

要遍历映射中的键值对,可以使用 keySet()values()entrySet() 方法:

// 遍历键
for (String key : myMap.keySet()) {
    System.out.println("键: " + key);
}

// 遍历值
for (int value : myMap.values()) {
    System.out.println("值: " + value);
}

// 遍历键值对
for (Map.Entry<String, Integer> entry : myMap.entrySet()) {
    System.out.println("键: " + entry.getKey() + ", 值: " + entry.getValue());
}

通过掌握本教程中介绍的技术,你将能够在应用程序中有效地创建和使用 Java 映射。

总结

在本教程结束时,你将对 Java 映射有全面的了解,包括如何创建它们、添加数据以及访问存储的信息。有了这些知识,你可以提升你的 Java 编程技能,并构建更强大、更高效的应用程序。