Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Creando Map de clientes e inicializandolo con

Pensé en que si son varios registros, repetir el mismo código varias veces es inoficioso, por eso averigüé como hacerlo en un solo código y es la combinación del método putAll + Map.of ==> acá comparto mi código:

 Map<Integer, String> clientes = new HashMap<>();
        clientes.putAll(Map.of(
                1, "Juan",
                2,"MARCOS",
                3, "Carlos",
                4, "Ana"
                )
        );

        System.out.println("Lista de Clientes: "+ clientes);
        System.out.println("Cliente N°. 2 ==> " + clientes.get(2));

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad resultado

1 respuesta

¡Hola, Fabio, espero que estés bien!

Tu código está bien estructurado y cumple con la tarea de inicializar un Map con varios registros de clientes. La combinación de putAll con Map.of es una forma eficiente de inicializar el Map con múltiples entradas de una sola vez.

Además, el uso de clientes.get(2) para recuperar el nombre del cliente con ID 2 es correcto y produce la salida esperada. En tu caso, el nombre del cliente con ID 2 es "MARCOS", lo cual coincide con la salida esperada del ejercicio.

Si quisieras simplificar aún más el código, podrías inicializar el Map directamente con Map.of sin necesidad de putAll, así:

Map<Integer, String> clientes = Map.of(
    1, "Juan",
    2, "MARCOS",
    3, "Carlos",
    4, "Ana"
);

Sin embargo, ten en cuenta que Map.of crea un Map inmutable, por lo que no podrás modificarlo después de su creación. Si necesitas un Map mutable, tu enfoque original es el correcto.

¡Espero haber ayudado y buenos estudios!