[AYUDA] Duda con List<Map<Integer,Integer>>

16.872 0
 #1
Escrito   0  0  
Que tal compañeros, estoy teniendo problemas con un List<Map<Integer,Integer>>, os explico, hice una consulta en Hibernate para conseguir averiguar de cada alumno la cantidad de asignaturas en las que estaba matriculado, aquí la consulta:


Query query = session.createSQLQuery("select e.alumno_id, sum(e.cantidadAsignaturas) from Expedientes e group by e.alumno_id");
query.setResultTransformer(AliasToEntityMapResultT ransformer.INSTANCE);
List<Map<Integer,Integer>> result = query.list();




La consulta os la puse para contaros mi problema desde 0, pero no es relevante para el problema. Con esa consulta obtengo un Map por cada alumno, como cada alumno tiene un Map, cada Map es añadido a un List. Entonces si hago lo siguiente:

List<Map<Integer,Integer>> listado = alumnoManager.getAlumnosAsignaturas();
for(Map<Integer,Integer> o : listado){
System.out.println(o.keySet()+"---"+o.values());
}


En Consola me devuelve:

[sum(e.cantidadAsignaturas), alumno_id]---[2, 1]
[sum(e.cantidadAsignaturas), alumno_id]---[2, 3]
[sum(e.cantidadAsignaturas), alumno_id]---[1, 4]


Yo lo que quiero conseguir es a partir del List<Map<Integer,Integer>> conseguir un solo Map<Integer,Integer> donde la clave sea el alumno_id y el valor la cantidad de asignaturas quedanto el Map así:
Clave --> Valor
1 --> 2
3 --> 2
4 --> 1

Pero no sé cómo hacer esa conversión, ¿alguien podría ayudarme u orientarme?.

De antemano daros las gracias, a ver si pudiérais ayudarme.

Un cordial saludo.
Volver a JAVA