当前位置:首页 > Java

如何创建映射java

2026-03-24 17:16:34Java

创建映射(Map)在 Java 中的方法

在 Java 中,映射(Map)是一种键值对(Key-Value)数据结构,常用的实现类包括 HashMapTreeMapLinkedHashMap。以下是几种常见的创建和使用映射的方法。

使用 HashMap 创建映射

HashMap 是最常用的映射实现,基于哈希表,提供快速的插入和查找操作。

import java.util.HashMap;
import java.util.Map;

Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
map.put("orange", 30);

System.out.println(map.get("apple")); // 输出 10

使用 TreeMap 创建映射

TreeMap 基于红黑树实现,键值对按自然顺序或自定义比较器排序。

import java.util.TreeMap;
import java.util.Map;

Map<String, Integer> map = new TreeMap<>();
map.put("apple", 10);
map.put("banana", 20);
map.put("orange", 30);

System.out.println(map); // 输出 {apple=10, banana=20, orange=30}(按键排序)

使用 LinkedHashMap 创建映射

LinkedHashMap 保留插入顺序或访问顺序,适合需要保持顺序的场景。

import java.util.LinkedHashMap;
import java.util.Map;

Map<String, Integer> map = new LinkedHashMap<>();
map.put("apple", 10);
map.put("banana", 20);
map.put("orange", 30);

System.out.println(map); // 输出 {apple=10, banana=20, orange=30}(按插入顺序)

使用 Java 9+ 的工厂方法创建不可变映射

从 Java 9 开始,可以使用 Map.of()Map.ofEntries() 创建不可变映射。

Map<String, Integer> immutableMap = Map.of(
    "apple", 10,
    "banana", 20,
    "orange", 30
);

System.out.println(immutableMap.get("banana")); // 输出 20

初始化时直接填充数据

可以使用双括号初始化(匿名内部类方式),但不推荐用于生产环境,因为可能引发内存泄漏。

Map<String, Integer> map = new HashMap<String, Integer>() {{
    put("apple", 10);
    put("banana", 20);
    put("orange", 30);
}};

System.out.println(map.get("orange")); // 输出 30

遍历映射

可以通过 entrySet()keySet()values() 遍历映射。

如何创建映射java

for (Map.Entry<String, Integer> entry : map.entrySet()) {
    System.out.println(entry.getKey() + ": " + entry.getValue());
}

map.keySet().forEach(key -> System.out.println(key));
map.values().forEach(value -> System.out.println(value));

注意事项

  • HashMap 的键和值允许为 null,而 TreeMap 不允许键为 null
  • 在多线程环境下,可以使用 ConcurrentHashMapCollections.synchronizedMap() 包装普通映射。
  • 不可变映射(如 Map.of() 创建的)在尝试修改时会抛出 UnsupportedOperationException

根据需求选择合适的映射实现类,并注意线程安全和性能问题。

标签: java
分享给朋友:

相关文章

java如何使用

java如何使用

Java 基本使用方法 Java 是一种广泛使用的编程语言,适用于开发各种类型的应用程序。以下是 Java 的基本使用方法,包括环境配置、语法基础和常用操作。 安装 Java 开发环境 下载并安装…

java如何调用接口

java如何调用接口

调用接口的基本方法 在Java中调用接口通常涉及实现接口或使用接口引用对象。以下是几种常见场景的示例: 定义接口 public interface MyInterface { void d…

如何学好java

如何学好java

理解基础概念 掌握Java的核心概念是学习的基础。包括数据类型、变量、运算符、控制流(如循环和条件语句)、数组等。理解面向对象编程(OOP)的四大特性:封装、继承、多态和抽象。 实践编程练习 通过实…

java如何创建包

java如何创建包

创建Java包的步骤 在Java中,包(package)用于组织和管理类文件,避免命名冲突。以下是创建Java包的详细方法: 定义包名 在Java源文件的开头使用package关键字声明包名。包名…

java版本如何查看

java版本如何查看

查看Java版本的命令行方法 在命令行或终端中运行以下命令可以查看当前安装的Java版本: java -version 输出示例: java version "1.8.0_301" Java(TM…

java如何创建测试类

java如何创建测试类

创建测试类的基本步骤 在Java中创建测试类通常使用JUnit框架,以下是具体方法: 安装JUnit依赖 对于Maven项目,在pom.xml中添加依赖: <dependency>…