En la interfaz estándar de Java Map, una clave solo se puede asignar a un valor. Esto significa que en una implementación de mapa normal (como HashMap, TreeMap, etc.), una clave solo puede corresponder a un valor y no admite múltiples valores adjuntos a una clave.
Sin embargo, si desea implementar una estructura de datos donde una clave pueda asociarse con múltiples valores, puede utilizar alguna implementación especial o ampliar la estructura de datos existente. Un enfoque común es utilizar una Lista o Conjunto para almacenar múltiples valores y asociar la Lista o Conjunto como valores y claves. En realidad, esto implementa una relación de mapeo de uno a muchos.
Por ejemplo, puedes HashMap
implementar una estructura donde una clave se pueda asociar con múltiples valores usando:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MultiValueMapExample {
public static void main(String[] args) {
Map<String, List<String>> multiValueMap = new HashMap<>();
// 添加多个值到同一个键
multiValueMap.put("key1", new ArrayList<>());
multiValueMap.get("key1").add("value1");
multiValueMap.get("key1").add("value2");
// 获取键关联的多个值
List<String> valuesForKey1 = multiValueMap.get("key1");
System.out.println(valuesForKey1); // Output: [value1, value2]
}
}