Java HashMap
Java 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()
方法并引用键:
实例
capitalCities.remove("England");
如需删除所有项目,请使用 clear() 方法:
实例
capitalCities.clear();
循环遍历 HashMap
使用 for-each 循环遍历 HashMap
的项目。
注释:如果您只需要键,请使用 keySet()
方法,如果您只需要值,请使用 values()
方法:
实例
// 打印键 for (String i : capitalCities.keySet()) { System.out.println(i); }
实例
// 打印值 for (String i : capitalCities.values()) { System.out.println(i); }
实例
// 打印键和值 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)); } } }