Java HashMap

Java HashMap

ArrayList 一章中,您已经了解到:数组将项目存储为有序集合,您必须使用索引号(int 类型)访问它们。然而,HashMap 将项目存储在"键/值"对中,您可以通过另一种类型的索引(例如 String)访问它们。

一个对象用作另一个对象(值)的键(索引)。它可以存储不同的类型:String 键和 Integer 值,或相同的类型,如:String 键和 String 值:

实例

创建名为 capitalCitiesHashMap 对象,它将存储 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);
 }
}

亲自试一试

访问项目

如需访问 HashMap 中的值,请使用 get() 方法并引用其键:

实例

capitalCities.get("England");

亲自试一试

删除项目

如需删除项目,请使用 remove() 方法并引用键:

实例

capitalCities.remove("England");

亲自试一试

如需删除所有项目,请使用 clear() 方法:

实例

capitalCities.clear();

亲自试一试

哈希图大小

如需找出有多少项目,请使用 size() 方法:

实例

capitalCities.size();

亲自试一试

循环遍历 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 表示 boolean
  • Character 表示 char
  • Double 表示 double

实例

创建名为 peopleHashMap 对象,它将存储 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));
 }
 }
}

亲自试一试

(追記) (追記ここまで)

AltStyle によって変換されたページ (->オリジナル) /