map<string,list<string>> 如何遍历
时间: 2023-11-10 09:00:33 浏览: 33
你可以使用迭代器来遍历一个 map<string, list<string>> 。
例如:
```
map<string, list<string>> myMap;
// 添加元素
myMap["key1"].push_back("value1");
myMap["key1"].push_back("value2");
myMap["key2"].push_back("value3");
myMap["key2"].push_back("value4");
// 遍历
for(auto it = myMap.begin(); it != myMap.end(); it++) {
cout << it->first << ": ";
for(auto it2 = it->second.begin(); it2 != it->second.end(); it2++) {
cout << *it2 << " ";
}
cout << endl;
}
```
这段代码会输出:
```
key1: value1 value2
key2: value3 value4
```
希望能帮到你。
相关问题
Map<String, List<String>> 遍历
遍历 Map<String, List<String>> 可以使用以下代码:
```java
Map<String, List<String>> map = new HashMap<>();
// 假设已经将数据存入 map 中
// 遍历 key
for (String key : map.keySet()) {
System.out.println("Key: " + key);
// 遍历 value
List<String> values = map.get(key);
for (String value : values) {
System.out.println("Value: " + value);
}
}
```
这里先通过 `map.keySet()` 获取所有的 key,再通过 `map.get(key)` 获取对应的 value,然后遍历 value 中的每个元素。
Java map<string ,list <string >>遍历
您可以使用Java中的`Map`的`entrySet()`方法来遍历一个`Map<String, List<String>>`的键值对。以下是一个示例代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Map<String, List<String>> map = new HashMap<>();
// 添加数据
map.put("key1", Arrays.asList("value1", "value2"));
map.put("key2", Arrays.asList("value3", "value4"));
// 遍历map
for (Map.Entry<String, List<String>> entry : map.entrySet()) {
String key = entry.getKey();
List<String> values = entry.getValue();
System.out.println("Key: " + key);
System.out.println("Values: " + values);
// 遍历values列表
for (String value : values) {
System.out.println("Value: " + value);
}
}
}
}
```
这将输出:
```
Key: key1
Values: [value1, value2]
Value: value1
Value: value2
Key: key2
Values: [value3, value4]
Value: value3
Value: value4
```
希望对您有所帮助!