Tengo un método que devuelve List<Map<String,Object>>
.cómo iterar una lista como Lista <Mapa <Cadena, Objeto >>
Cómo iterar en una lista como List<Map<String,Object>>
?
Tengo un método que devuelve List<Map<String,Object>>
.cómo iterar una lista como Lista <Mapa <Cadena, Objeto >>
Cómo iterar en una lista como List<Map<String,Object>>
?
Esto debería funcionar:
List<Map<String, Object>> list = ...
for (Map<String, Object> map : list)
{
...
}
También puede utilizar un iterator o el método get dentro de un bucle for para acceder a los elementos dentro de la lista.
Creo que te refieres a la lista
De hecho. gracias por señalar eso – npinti
List<Map<String, Object>> list = getMyMap();
for (Map<String, Object> map : list) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
System.out.println(entry.getKey() + " - " + entry.getValue());
}
}
Tiene algunos errores tipográficos. Está asignando 'map' dos veces y los valores de la lista deben ser' Map
@ WhiteFang34: Thx, editado. – timbooo
Parece que usted está buscando algo como esto:
List<Map<String, Object>> list; // this is what you have already
for (Map<String, Object> map : list) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
}
}
con Java 1.8 (8) puede volver a escribirlo como:
list.forEach(item ->
item.forEach((k, v) -> System.out.println(k + ": " + (String)v)
);
Map<String, String> map = new HashMap<>();
map.put("First", "1");
map.put("Second", "2");
map.put("third", "3");
map.put("four", "4");
// here is the logic
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + " - " + entry.getValue());
}
http://download.oracle.com/javase/tutorial/java/nutsandbolts/for.html –
¿Podría ser más específico? –
Si tiene la opción, intente evitar las estructuras de recopilación anidadas demasiado complejas como esta a favor de crear una nueva clase. Si otro programador encuentra tu List