在我的程序中,我得到了这样的结果:
2:one
3:ff
3:rr
6:fg
我想在socket中使用send()方法发送这些数据,这样我就可以在接收套接字中获取单词出现和单词。
我认为Map<Integer, List<String>>
会更好。
我的代码段:
for (std::map < int, std::vector < std::string > >::iterator hit = three_highest.begin(); hit != three_highest.end(); ++hit) {
//std::cout << hit->first << ":";
for (std::vector < std::string >::iterator vit = (*hit).second.begin(); vit != (*hit).second.end(); vit++) {
std::cout << hit->first << ":";
std::cout << *vit << "\n";
}
}
hit->first
给出[int val],*vit
给出字符串。
如何将其存储到Map<Integer, List<String>>
中以进行迭代?
答案 0 :(得分:2)
您只需构建列表并将其插入到地图中。
std::map<int, std::list<std::string> > map_to_string_list;
for (auto list_it = three_highest.begin(); list_it != three_highest.end(); ++list_it) {
map_to_string_list[list_it->first] = std::list<std::string>(list_it->second.begin(),
list_it->second.end());
}