在 Java 编程语言中,哈希映射是关联值的列表。Java 使用哈希映射来存储数据。如果你保存大量的结构化数据,了解可用的各种检索方法很有用。
创建哈希映射
通过导入和使用 HashMap
类,在 Java 中创建一个哈希映射。创建哈希映射时,必须定义构成有效值的内容(例如 Integer
或 String
)。哈希映射保存值对。
package com.opensource.example;
import java.util.HashMap;
public class Mapping {
public static void main(String[] args) {
HashMap<String, String> myMap = new HashMap<>();
myMap.put("foo", "hello");
myMap.put("bar", "world");
System.out.println(myMap.get("foo") + " " + myMap.get("bar"));
System.out.println(myMap.get("hello") + " " + myMap.get("world"));
}
}
put
方法允许你向哈希映射添加数据,get
方法从哈希映射检索数据。
运行代码以查看输出。 假设你已将代码保存在名为 main.java
的文件中,则可以使用 java
命令直接运行它
$ java ./main.java
hello world
null null
调用哈希映射中的第二个值会返回 null
,因此第一个值本质上是一个键,第二个值是一个值。 这在某些语言中被称为字典或关联数组。
只要你在创建哈希映射时告诉 Java 期望什么,你就可以混合和匹配放入哈希映射的数据类型
package com.opensource.example;
import java.util.HashMap;
public class Mapping {
public static void main(String[] args) {
HashMap<Integer, String> myMap = new HashMap<>();
myMap.put(71, "zombie");
myMap.put(2066, "apocalypse");
System.out.println(myMap.get(71) + " " + myMap.get(2066));
}
}
运行代码
$ java ./main.java
zombie apocalypse
使用 forEach 迭代哈希映射
有很多方法可以检索哈希映射中的所有数据对,但最直接的方法是 forEach
循环
package com.opensource.example;
import java.util.HashMap;
public class Mapping {
public static void main(String[] args) {
HashMap<String, String> myMap = new HashMap<>();
myMap.put("foo", "hello");
myMap.put("bar", "world");
// retrieval
myMap.forEach( (key, value) ->
System.out.println(key + ": " + value));
}
}
运行代码
$ java ./main.java
bar: world
foo: hello
结构化数据
有时使用 Java 哈希映射是有意义的,这样你就不必跟踪数十个单独的变量。一旦你了解如何在一种语言中构造和检索数据,你就可以以一种有组织和方便的方式生成复杂的数据。哈希映射不是你在 Java 中唯一需要的数据结构,但它是相关数据的一个很好的选择。
评论已关闭。