如何在Java中迭代ArrayList

时间:2014-12-22 08:12:02

标签: java

我有一个如下所示的列表:

List newMap = (ArrayList) map.get("programs");
System.out.print(newMap); //JSON data

在打印上面的内容时,我得到了:

[{program_id=PR1, service_ids=[1, 2]}, {program_id=PR4, service_ids=[14, 15]}]

现在我的问题是,如何遍历此列表并根据键获取值?我的意思是newMap[0]["program_id"]的内容,然后我应该PR1

我试过的代码:

for (Object obj : newMap){
        var temp = newMap[0].get("program_id"); //Can't do this because "Array type expected, found java.util.List"
    }

2 个答案:

答案 0 :(得分:0)

你可以试试这个

newMap[0].get("program_id");

答案 1 :(得分:0)

由于newMap是一个列表,您可以使用newMap.get(i)访问其中的元素。

List的每个元素似乎都是Map。

因此,您可以通过这种方式获取特定密钥的值:

newMap.get(i).get("program_id")

如果要迭代列表并获取每个地图中特定键的值:

for (Map obj : newMap) {
    Object value = obj.get("program_id");
}

请注意,您不应该使用原始类型。我只使用原始类型Map,因为我不知道您在该地图中存储的数据类型。