java中map如何一个key存储多个值
时间: 2024-05-14 12:18:45 浏览: 106
Java中的Map无法直接存储多个值,但可以通过一些方法来实现这个功能。其中最常用的方法是使用Java集合框架中的List或Set来存储多个值。
例如,可以使用Map<Integer, List<String>>来存储多个值,其中键是Integer类型,值是String类型的List列表。这样,在Map中每一个键都对应着一个List,而List中存储了所有与该键相关的值。
下面是一个示例代码:
```java
import java.util.*;
public class MultiValueMap {
public static void main(String[] args) {
Map<Integer, List<String>> map = new HashMap<>();
map.put(1, new ArrayList<>(Arrays.asList("apple", "banana")));
map.put(2, new ArrayList<>(Arrays.asList("orange", "pear")));
map.put(3, new ArrayList<>(Arrays.asList("grape", "watermelon")));
// 获取键1对应的所有值
List<String> values = map.get(1);
System.out.println(values); // 输出 [apple, banana]
// 遍历整个Map
for (Map.Entry<Integer, List<String>> entry : map.entrySet()) {
int key = entry.getKey();
List<String> valueList = entry.getValue();
System.out.println("Key: " + key + ", Values: " + valueList);
}
}
}
```
在上面的示例代码中,我们通过使用ArrayList来存储多个值,并将其放入Map中。然后,我们可以使用get方法来获取某个键对应的所有值,并使用entrySet方法来遍历整个Map。
阅读全文