在标准的 Java Map 接口中,一个键(key)只能映射到一个值(value)。这意味着在一个普通的 Map 实现(如 HashMap、TreeMap 等)中,一个键只能对应一个值,不支持一个键下面挂多个值。
然而,如果你想要实现一个键可以关联多个值的数据结构,你可以使用一些特殊的实现或者扩展已有的数据结构。一种常见的做法是使用列表(List)或集合(Set)来存储多个值,并将这个列表或集合作为值与键关联起来。这实际上是实现了一个一对多的映射关系。
举个例子,你可以使用 HashMap
来实现一个键可以关联多个值的结构:
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]
}
}