【问题标题】:How to access hashmaps inside an ArrayList originated from a database?如何访问源自数据库的 ArrayList 中的哈希图?
【发布时间】:2014-12-28 05:13:33
【问题描述】:

我有一个带有一堆哈希图的 ArrayList。每个哈希图都具有源自数据库的列的名称和值。如何访问这些列的值?

Netbeans 变量检查器向我展示:

avaliacaoList = (java.util.ArrayList) [{id_grade_curricular=5476, posicao=...

调试器会向我显示以下值:

我需要在 ArrayList 中进行迭代,访问每个 hashmap 及其值。我尝试了很多方法来迭代这个 ArrayList,但我找不到访问每个“记录”的字段 id_grade_curricular(见橙色箭头)的方法。 有人可以帮助我实现这一目标吗?谢谢。

【问题讨论】:

    标签: java database arraylist iterator hashmap


    【解决方案1】:

    我假设您有一个哈希图列表,并且您绝对确实需要它。

    for (HashMap h : avaliacaoList){
        Object result = h.get("id_grade_curricular");
        //do something
    }
    

    使用您存储的任何内容,而不是 Object。

    【讨论】:

    • 谢谢。我不知道为什么使用 FOR 进行迭代不起作用,所以我使用了一个迭代器并将值作为对象检索,如您所演示的。谢谢。
    【解决方案2】:

    请记住,ArrayList 中的项目是HashMaps。然后,您必须实际访问所需的键:值对。

    for (HashMap entry : avaliacaoList){
        int value = entry.get("id_grade_curricular")
        // Do something with value here
    }
    

    注意这里我假设地图的类型是HashMap<string,int>,因为这就是您的示例的样子。如果不是这样,请相应地调整类型。

    【讨论】:

      【解决方案3】:

      请不要使用Raw Types。您可以迭代 List 并调用 Map.get() 类似

      List<HashMap<String,String>> avaliacaoList;
      for (HashMap<String,String> map : avaliacaoList) {
        System.out.println(map.get("id_grade_curricular"));
      }
      

      【讨论】:

        猜你喜欢
        • 2015-06-26
        • 1970-01-01
        • 2014-05-06
        • 2013-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-18
        • 2013-07-27
        相关资源
        最近更新 更多