Java Language Añadir varios elementos


Ejemplo

Podemos usar V put(K key,V value) :

Asocia el valor especificado con la clave especificada en este mapa (operación opcional). Si el mapa contenía previamente una asignación para la clave, el valor anterior se reemplaza por el valor especificado.

String currentVal;
Map<Integer, String> map = new TreeMap<>();
currentVal = map.put(1, "First element.");
System.out.println(currentVal);// Will print null
currentVal = map.put(2, "Second element.");
System.out.println(currentVal); // Will print null yet again    
currentVal = map.put(2, "This will replace 'Second element'");
System.out.println(currentVal); // will print Second element.
System.out.println(map.size()); // Will print 2 as key having
// value 2 was replaced.

Map<Integer, String> map2 = new HashMap<>();
map2.put(2, "Element 2");
map2.put(3, "Element 3");

map.putAll(map2);

System.out.println(map.size());  

Salida:

3

Para agregar muchos artículos puedes usar una clase interna como esta:

Map<Integer, String> map = new HashMap<>() {{
    // This is now an anonymous inner class with an unnamed instance constructor
    put(5, "high");
    put(4, "low");
    put(1, "too slow");
}};

Tenga en cuenta que crear una clase interna anónima no siempre es eficiente y puede provocar pérdidas de memoria, por lo que, cuando sea posible, use un bloque de inicialización en su lugar:

static Map<Integer, String> map = new HashMap<>();

static {
    // Now no inner classes are created so we can avoid memory leaks
    put(5, "high");
    put(4, "low");
    put(1, "too slow");
}

El ejemplo anterior hace que el mapa sea estático. También se puede utilizar en un contexto no estático eliminando todas las apariciones de static .

Además de que la mayoría de las implementaciones son compatibles con putAll , que puede agregar todas las entradas de un mapa a otro de esta manera:

another.putAll(one);