У меня есть следующее HashMap
map
, содержащее ArrayList
content
, содержащее несколько HashMaps
:
{
key1=val1,
key2=val2,
// ...
content= [
{
keyAbc=val10,
keyDef=val11,
KeyGhi=val12,
},
{
keyAbc=val13,
keyDef=val14,
KeyGhi=val15
},
{
keyAbc=val16,
keyDef=val17,
KeyGhi=val18
}
],
key20=val20,
// ...
}
Теперь мне нужно получить все ключи и значения content
.
- Вход в ArrayList
Когда я пытаюсь
for(int i=0; i<map.get("content").size(); i++){}
, он говорит cannot find symbol
,как будто он не распознает ArrayList
.
Однако приведение его в ArrayList работает:
for(int i=0; i<((ArrayList)map.get("content")).size(); i++){}
Получение в HashMap Итак, в этом цикле я пытаюсь:
// for(...){
for(Map.Entry<Object, Object> obj : (((ArrayList)map.get("content")).get(i)){}
}
Появляется следующая ошибка:
для каждого неприменимо к типу выражения
обязательно: массив или java.lang.Iterable
найдено: объект
Приведение в виде HashMap:
// for(...){
for(Map.Entry<Object, Object> obj : ((HashMap)(ArrayList)map.get("content")).get(i)){}
}
Выдает эту ошибку:
несовместимые типы: ArrayList не может быть преобразован в HashMap
Так как я могу получить доступ к содержимому content
?