Os explico lo que me pasa en el método con un ejemplo:
-Tenemos este conjunto:
Set<String> poid = new HashSet<String>();
poid.add("p1");
poid.add("p2");
- y este mapa:
Map<String,String> m = new HashMap<String,String>();
m.put("o1", "p1");
m.put("o2", "p1");
m.put("o11", "p2");
m.put("o12", "p2");
Pues bien intento que devuelva otro mapa en el que agrupe cada "o" con su "p".
Esto sería lo que tendría que devolver:
Map<String,List<String>> ml = new HashMap<String,List<String>>();
<"p1",<"o1","o2">>
<"p2",<"o11","o12">>
Aquí el algoritmo que hice, que no funciona bien:
Código JAVA:
Ver original
Con este algoritmo lo que devuelve es esto:
<"p1",<"o1","o2","o11","o12">>
<"p2",<"o1","o2","o11","o12">>
Y lo que realmente debería devolver es esto:
<"p1",<"o1","o2">>
<"p2",<"o11","o12">>
¿Qué está fallando?, ¿qué haría falta en el método?. ¿podrían ayudarme?.
Saludos y muchas gracias.