Java 教程
Java 方法
Java 类
Java 文件处理
Java 数据结构
Java 案例
Java 参考手册
Java 关键字
Java String 方法
Java Math 方法
Java Output 方法
Java Arrays 类
Java ArrayList 方法
Java LinkedList 方法
Java HashMap 方法
Java Scanner 方法
Java 迭代器接口
Java 错误和异常类型
Java.io 包教程
Java.lang 包教程
Java.math 包教程
java.time 包教程
Java.util 包教程
Java 正则表达式教程
java.util.zip 包教程
Java HashMap在 ArrayList 一章中,您已经了解到:数组将项目存储为有序集合,您必须使用索引号(int 类型)访问它们。然而,HashMap
在 ArrayList 一章中,您已经了解到:数组将项目存储为有序集合,您必须使用索引号(int 类型)访问它们。然而,HashMap 将项目存储在“键/值”对中,您可以通过另一种类型的索引(例如 String)访问它们。
一个对象用作另一个对象(值)的键(索引)。它可以存储不同的类型:String 键和 Integer 值,或相同的类型,如:String 键和 String 值:
创建名为 capitalCities 的 HashMap 对象,它将存储 String 键和 String 值:
import java.util.HashMap; // 导入 HashMap 类 HashMap<String, String> capitalCities = new HashMap<String, String>();
点击 "运行实例" 按钮查看在线实例
HashMap 类有许多有用的方法。例如,要向其中添加项目,请使用 put() 方法:
// 导入 HashMap 类
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// 创建名为 capitalCities 的 HashMap 对象
HashMap<String, String> capitalCities = new HashMap<String, String>();
// Add keys and values (Country, City)
capitalCities.put("China", "Beijing");
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("USA", "Washington DC");
System.out.println(capitalCities);
}
}
点击 "运行实例" 按钮查看在线实例
如需删除项目,请使用 remove() 方法并引用键:
如需删除所有项目,请使用 clear() 方法:
使用 for-each 循环遍历 HashMap 的项目。
注释:如果您只需要键,请使用 keySet() 方法,如果您只需要值,请使用 values() 方法:
// 打印键和值
for (String i : capitalCities.keySet()) {
System.out.println("key: " + i + " value: " + capitalCities.get(i));
}
点击 "运行实例" 按钮查看在线实例
HashMap 中的键和值实际上是对象。在上面的例子中,我们使用了 "String" 类型的对象。请记住,Java 中的 String 是对象(不是原始类型)。
要使用其他类型,例如 int,您必须指定等效的包装类:Integer。对于其他原始类型,请使用:
Boolean 表示 booleanCharacter 表示 charDouble 表示 double创建名为 people 的 HashMap 对象,它将存储 String 键和 Integer 值:
// 导入 HashMap 类
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// 创建名为 people 的 HashMap 对象
HashMap<String, Integer> people = new HashMap<String, Integer>();
// 添加键和值 (Name, Age)
people.put("Bill", 32);
people.put("Steve", 30);
people.put("Elon", 33);
for (String i : people.keySet()) {
System.out.println("key: " + i + " value: " + people.get(i));
}
}
}
点击 "运行实例" 按钮查看在线实例