如何在 Java 中打印 LinkedHashMap 的所有映射?
在 Java 中,LinkedHashMap 是一种流行的数据结构,它结合了双向链表和哈希映射的优点。元素的检索顺序与添加顺序相同,因为它保留了插入顺序。当我们需要按指定顺序迭代键值对时,LinkedHashMaps 特别有用。在我们想要打印 LinkedHashMap 中包含的每个映射的情况下,有几种方法可用。在本文中,我们将研究两种不同的方法,以有效地在 Java 中打印所有 LinkedHashMap 的映射,每种方法都有自己的优点和示例代码。
方法
利用 entrySet() 方法。
利用 forEach() 方法。
让我们研究一下这两种方法:-
方法 1:利用 entrySet() 方法。
LinkedHashMap 类提供的 entrySet() 函数是发布 LinkedHashMap 中所有映射的初始方法。一组 Map 是此过程的结果。LinkedHashMap 中的键值对包含在条目对象中。我们可以通过迭代来快速访问和显示此集合中的每个映射。
从 LinkedHashMap 获取条目集,并使用该方法中的 for-each 循环对其进行迭代。我们分别使用 getKey() 和 getValue() 方法来获取每个元素的键和值。通过在循环过程中显示键值对,可以看到 LinkedHashMap 中的所有映射。
算法
步骤 1: 导入所需的包。
步骤 2: 可以创建 LinkedHashMap 对象。
步骤 3: 应插入 LinkedHashMap 键值对。
步骤 4: 利用 entrySet() 函数获取所有键值映射的集合。
步骤 5: 重复集合的步骤。
步骤 6: 请打印集合中每个条目的键和值。
示例
//导入所需的包
import java.util.LinkedHashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 创建 LinkedHashMap
LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>();
// 插入键值对
linkedHashMap.put("Pen", 10);
linkedHashMap.put("Rubber", 5);
linkedHashMap.put("Paper", 8);
linkedHashMap.put("File", 20);
// 借助 entrySet() 打印所有映射
for (Map.Entry<String, Integer> entry : linkedHashMap.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
}
}
输出
Key: Pen, Value: 10 Key: Rubber, Value: 5 Key: Paper, Value: 8 Key: File, Value: 20
方法 2:利用 forEach() 方法。
随着 Java 8 的推出,LinkedHashMap 类添加了 forEach() 方法,使我们能够快速对每个键值对执行操作。此方法使用 lambda 表达式和 forEach() 方法来输出 LinkedHashMap 中的每个映射。
在此方法中,会立即调用 LinkedHashMap 对象的 forEach() 方法。我们在 lambda 表达式中定义打印逻辑,在其中连接键和值以获取所需的输出。由于它消除了对显式迭代循环的要求,因此当我们需要更简洁、更实用的编码风格时,此方法非常有用。
算法
步骤 1: 导入必要的包,然后创建名为 Main 的类。构造一个 LinkedHashMap 对象。
步骤 2: 向 LinkedHashMap 添加键值对。
步骤 3: 要遍历每个条目,请使用 forEach() 方法。
步骤 4: 最后打印每个条目的键和值。
示例
//导入所需的包
import java.util.LinkedHashMap;
public class Main {
public static void main(String[] args) {
// 创建 LinkedHashMap
LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>();
// 插入键值对
linkedHashMap.put("Pen", 10);
linkedHashMap.put("Rubber", 5);
linkedHashMap.put("Paper", 8);
linkedHashMap.put("File", 20);
// 逐一打印所有映射
linkedHashMap.forEach((key, value) -> System.out.println("Key: " + key + ", Value: " + value));
}
}
输出
Key: Pen, Value: 10 Key: Rubber, Value: 5 Key: Paper, Value: 8 Key: File, Value: 20
结论
Java 中的 entrySet() 方法或 forEach() 方法可用于打印 LinkedHashMap 中的每个映射。利用 entrySet() 方法提供的键值映射,我们可以遍历每个条目并报告所需的结果。另一方面,forEach() 方法通过接受 lambda 表达式来执行打印任务,从而简化了该过程。本文介绍了两种方法。这两种方法都很有效,并能提供所需的结果。选择最适合您的编码需求和偏好的选项。
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

