如何在 Java 中获取 LinkedHashMap 的所有值?


LinkedHashMap 是 Java 集合框架的一个泛型类,它实现了 Map 接口。顾名思义,它是 HashMap 类的子类,并使用双向链表按插入顺序存储条目。它维护键值对条目。键是一个用于获取和接收与其关联的值的对象。因此,我们可以使用此键以及 'get()' 方法从 LinkedHashMap 获取所有值。本文旨在解释打印 LinkedHashMap 所有值的各种方法。

获取 LinkedHashMap 所有值的 Java 程序

在直接跳转到示例程序之前,让我们先了解一些关于 LinkedHashMap 的其他要点。

LinkedHashMap

正如我们之前讨论的,LinkedHashMap 类扩展了 HashMap 类以实现 Map 接口。因此,它可以使用所有方法,并且还可以执行 HashMap 类能够执行的类似操作。它以 LinkedList 的形式存储映射的元素,并按照插入的顺序存储,因此,无论何时我们返回其元素,它都将按插入顺序打印。

LinkedHashMap 的通用语法如下所示

语法

LinkedHashMap< TypeOfKey, TypeOfValue > nameOfMap = new LinkedHashMap<>();

在上述语法中,

TypeOfKey:指定键的数据类型。

TypeOfValue:指定要存储在映射中的值的数据类型。

nameOfMap:为您的映射提供一个合适的名称。

现在,让我们为从 LinkedHashMap 打印所有值创建 Java 程序。

示例 1

以下示例演示了如何使用 for-each 循环从 LinkedHashMap 获取所有值。

方法

  • 首先,导入 'java.util' 包,以便我们可以访问 Map 的功能。

  • 然后,创建一个 LinkedHashMap,并使用内置方法 'put()' 存储一些指定类型元素。

  • 接下来,初始化一个 'index' 变量来指定索引。

  • 现在,使用一个 for-each 循环遍历 LinkedHashMap 的键,并在每次迭代期间将索引递增 1。此外,使用 'get()' 方法打印值。

import java.util.*;
public class Example1 {
   public static void main(String[] args) {
      // Creating a LinkedHashMap 
      LinkedHashMap<String, Integer> LinkHmap = new LinkedHashMap<>();
      // storing elements to the map
      LinkHmap.put("TShirt", 59);
      LinkHmap.put("Trouser", 60);
      LinkHmap.put("Shirt", 45);
      LinkHmap.put("Watch", 230);
      LinkHmap.put("Shoes", 55);
      // to print all entries
      System.out.println("All items from LinkedHashMap :");
      for (String unKey : LinkHmap.keySet()) {
         System.out.println("Item: " + unKey + ", Quantity: " + LinkHmap.get(unKey));
      }
      // Initializing the index
      int index = 0;
      // iterating using for-each loop
      for (String unKey : LinkHmap.keySet()) {
         // printing the result
         System.out.println("The value at index " + index + " from LinkedHashMap is: " + LinkHmap.get(unKey)); 
         index++; // incrementing the index
      }
   }
}

输出

All items from LinkedHashMap :
Item: TShirt, Quantity: 59
Item: Trouser, Quantity: 60
Item: Shirt, Quantity: 45
Item: Watch, Quantity: 230
Item: Shoes, Quantity: 55
The value at index 0 from LinkedHashMap is: 59
The value at index 1 from LinkedHashMap is: 60
The value at index 2 from LinkedHashMap is: 45
The value at index 3 from LinkedHashMap is: 230
The value at index 4 from LinkedHashMap is: 55

示例 2

在以下示例中,我们将使用迭代器接口来获取 LinkedHashMap 的所有值。

方法

  • 遵循上一个示例的前两个步骤。

  • 定义一个迭代器,并将 LinkedHashMap 的值存储到其中。

  • 然后,初始化一个 'index' 变量来指定索引。

  • 使用 while 循环迭代到可用值的末尾并提取值。此外,在每次迭代期间将 'index' 递增 1。

import java.util.*;
public class Example2 {
   public static void main(String[] args) {
      // Creating a LinkedHashMap 
      LinkedHashMap<String, Integer> LinkHmap = new LinkedHashMap<>();
      // storing elements to the map
      LinkHmap.put("TShirt", 59);
      LinkHmap.put("Trouser", 60);
      LinkHmap.put("Shirt", 45);
      LinkHmap.put("Watch", 230);
      LinkHmap.put("Shoes", 55);
      // to print all entries
      System.out.println("All items from LinkedHashMap :");
      for (String unKey : LinkHmap.keySet()) {
         System.out.println("Item: " + unKey + ", Quantity: " + LinkHmap.get(unKey));
      }
      // Defining an iterator
      Iterator<Integer> iter = LinkHmap.values().iterator();
      // Initializing the index
      int index = 0;
      // iterating using while loop
      while (iter.hasNext()) {
         // to get the next value and increment the index
         System.out.println("The value at index " + index + " from LinkedHashMap is: " + iter.next()); 
         index++;
      }
   }
}

输出

All items from LinkedHashMap :
Item: TShirt, Quantity: 59
Item: Trouser, Quantity: 60
Item: Shirt, Quantity: 45
Item: Watch, Quantity: 230
Item: Shoes, Quantity: 55
The value at index 0 from LinkedHashMap is: 59
The value at index 1 from LinkedHashMap is: 60
The value at index 2 from LinkedHashMap is: 45
The value at index 3 from LinkedHashMap is: 230
The value at index 4 from LinkedHashMap is: 55

结论

在本文中,我们学习了 LinkedHashMap 以及如何创建它。本文的目的是找到打印 LinkedHashMap 所有值的各种方法。对于此操作,我们已经看到了两个示例程序。

更新于: 2023年7月20日

283 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告