Parse Map String String a Map Long Long
Hola buen día,
estoy intentando pasar los valores de un Map String String a un Map Long Long, pero estoy atorado en esa parte. Tengo el sig código para intentar pasar los valores de un map a otro :
Lleno el Map String String, una vez lleno, deseo pasarlo al Map Long Long.
Definicion :
Que estaré haciendo mal ?
Saludos
- Inicie sesión o regístrese para enviar comentarios
Iteras string no long
Al iterar cada elemento es string, y dentro del for lo conviertes a Long.
Esta es otra forma muy similar a la que tienes, pero ligeramente más sencilla.
class Stl {
public static void main( String ... args ) {
Map<String,String> a = new HashMap<String,String>();
Map<Long,Long> b = new HashMap<Long,Long>();
a.put("1","1");
a.put("2","2");
for( Map.Entry<String,String> e : a.entrySet() ) {
b.put( Long.valueOf(e.getKey()), Long.valueOf( e.getValue()));
}
System.out.println(b);
}
}
no le veo problema
Y por qué no funciona? no le veo ningún problema a tu código (fuera de que no están inicializados los mapas pero supongo eso fue por brevedad).
Es más eficiente recorrer el entrySet y obtener llave y valor de la entrada como haces tú, que lo que hizo OscarRyz de recorrer el keySet y pedir el valor correspondiente a la llave en cada iteración.
El problema es que el
El problema es que el iterador debe de ser de tipo
Entry<String,String>
en ves deEntry<Long,Long>
. Cierto lo de la iteración. ActualizadoResuelto
Muchas gracias por la ayuda y por el tip de recorrer el map con EntrySet.
Saludos