Java 如何访问数组中保存的 HashMap 数据

标签 java arrays hashmap

学习 Java 并已经弄清楚如何在数组中存储 HashMap 。但我不知道如何获取存储的数据。这是我正在做的事情的简化版本。我已经显示了特定的数组项,但是如何访问存储在数组中的 HashMap ?

import java.util.*;

public class HelloWorld {
  public static void main(String[] args) {
    Map<String, String> custOrder = new HashMap<String, String>();
    List ordersPlaced = new ArrayList();

    custOrder.put("colour", "blue");
    custOrder.put("manu", "bmw");
    custOrder.put("body", "4x4");

    ordersPlaced.add(custOrder);

    custOrder = new HashMap();

    custOrder.put("colour", "green");
    custOrder.put("manu", "merc");
    custOrder.put("body", "saloon");

    ordersPlaced.add(custOrder);   


    System.out.println(ordersPlaced.get(0).toString());
  }
}

希望这是有道理的。提前致谢

尼尔

最佳答案

您已经在访问它。

为了获取 map 项目的迭代,您可以:

ordersPlaced.get(0).forEach((key, value) -> {
    System.out.println("Key is: " + key + ", Value is: " + value);
});

或者,在 Java 8 之前,类似:

for (Map.Entry<String, String> entry : ordersPlaced.get(0).entrySet()) {
    String key = entry.getKey();
    String value = entry.getValue();
}

请注意,您应该避免使用原始类型列表。相反,您应该:

List<Map<String, String>> ordersPlaced = new ArrayList<>(); 

然后:

Map<String, String> m = ordersPlaced.get(0);

关于Java 如何访问数组中保存的 HashMap 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48609437/

相关文章:

java - 在生产中运行 JUnit 集成测试的最佳方式

c - 如何使用结构成员打印星期几?

java - 如何从存储在 Arraylist 中的 Hashmap 中搜索并提取值

java - HashMap 没有得到预期的输出?

javascript - 为什么即使有字符串键,数组也保留了这么多空间?

java - Tomcat 是如何定义 Context 的?

java - 二进制和文本结构(数据包)的高效解码

java - 为什么 createKeyFromXml() 不创建语言切换键?

python - 将图像数据集存储到 4D 数组中然后显示每个图像会导致颜色失真

c++ - 如何制作节点数组?