Java HashMap
-
Java HashMap
从上一章中您了解到,数组将项目存储为有序集合,并且您必须使用索引号(int类型)来访问它们。HashMap建立的是“键/值”对存储,你可以通过另一种类型的指数(例如String访问它们)。一个对象用作另一个对象(值)的键(索引)。它可以存储不同的类型:String键和Integer值,或相同的类型,例如:String键和String值:创建一个名为capitalCities的HashMap对象,该对象将存储String 键和String 值:import java.util.HashMap; // import the HashMap class HashMap<String, String> capitalCities = new HashMap<String, String>();
-
新增元素
HashMap类有许多有用的方法。例如,要向其中添加项目,请使用put()方法:
尝试一下// Import the HashMap class import java.util.HashMap; public class MyClass { public static void main(String[] args) { // Create a HashMap object called capitalCities HashMap<String, String> capitalCities = new HashMap<String, String> (); // Add keys and values (Country, City) capitalCities.put("England", "London"); capitalCities.put("Germany", "Berlin"); capitalCities.put("Norway", "Oslo"); capitalCities.put("USA", "Washington DC"); System.out.println(capitalCities); } }
-
-
-
-
遍历HashMap
通过for-each循环遍历HashMapa的各项。注:如果你希望输出键,使用keySet()方法;如果你希望输出值,使用values()方法,:
尝试一下// Print keys for (String i : capitalCities.keySet()) { System.out.println(i); }
尝试一下// Print values for (String i : capitalCities.values()) { System.out.println(i); }
尝试一下// Print keys and values for (String i : capitalCities.keySet()) { System.out.println("key: " + i + " value: " + capitalCities.get(i)); }
-
其他数据类型的HashMap
HashMap中的键和值实际上是对象。在上面的示例中,我们使用了“String”类型的对象。请记住,Java中的String是一个对象(不是原始类型)。要使用其他类型,例如int,必须指定等效的包装器类(下一章介绍包装器类):Integer。对于其他原始类型,请使用:Boolean布尔值,Character字符,Double双精度型,等等:创建一个HashMap名为people的对象,该对象将存储String 键和 Integer 值:
尝试一下// Import the HashMap class import java.util.HashMap; public class MyClass { public static void main(String[] args) { // Create a HashMap object called people HashMap<String, Integer> people = new HashMap<String, Integer>(); // Add keys and values (Name, Age) people.put("John", 32); people.put("Steve", 30); people.put("Angie", 33); for (String i : people.keySet()) { System.out.println("key: " + i + " value: " + people.get(i)); } } }