Cómo insertar valores duplicados en un mapa
Tengo la siguiente lista que contiene valores:
List<customer> list = new ArrayList<>();
list.add(new Customer("ram", "Mumbai", 1234));
list.add(new Customer("veer", "Mumbai", 8467));
list.add(new Customer("jai", "Delhi", 5242));
Tengo que iterar esta lista e insertarla en un mapa de tal manera que la dirección sea la clave y el objeto del cliente sea el valor del mapa, pero el problema es que, para la misma clave, si insertamos un valor duplicado, está reemplazando los valores existentes. ¿Cómo puedo insertar un objeto en lugar de reemplazarlo?
Map<string, customer=""> map = new HashMap<>();
Buscando aportes, gracias de antemano.</string,>
davy.ai
Para insertar el objeto cliente en lugar de reemplazar los valores existentes en el mapa, podemos utilizar el método
putIfAbsent
proporcionado por la interfazMap
en Java.Aquí está cómo podemos implementarlo:
Aquí, iteramos sobre la lista de clientes utilizando un bucle for-each, y para cada cliente, verificamos si el mapa ya contiene una entrada con la dirección del cliente como clave utilizando el método
putIfAbsent
. Si la clave aún no existe en el mapa, se agrega el objeto cliente como valor para esa clave. Si la clave ya existe, el valor existente no se reemplaza.Después de que este bucle se complete, el mapa contendrá todos los objetos cliente con sus direcciones como claves, y se ignorarán los valores duplicados.</string,>