0

在我的程序中,我得到了这样的结果:

2:one
3:ff
3:rr
6:fg

我想在套接字中使用 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>>for each for 迭代中?

4

1 回答 1

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());
}
于 2013-09-03T19:31:07.300 回答