Я пытаюсь отработать свои навыки java, используя мои старые коды C ++ и пытаясь преобразовать их. Итак, у меня есть этот код ниже, который использует std :: map (как показано ниже):
#include <map>
#include <iostream>
#include <fstream>
using namespace std;
int main (int argc, char ** argv)
{
string ifile = argv[1];
ifstream icookie {ifile};
ofstream ocookie {"ocookie.txt",ios::out};
string Lines;
map<string,int>CookieMap;
while(getline(icookie,Lines))
{
CookieMap[Lines]++;
}
for (auto it : CookieMap)
{
cout << it.first << " " << it.second << endl;
}
return 0;
}
Код читает файл ocook ie .txt, который содержит:
chocolate
snickerdoodle
vanilla
chocolate
vanilla
sugar
vanilla
Вывод должен быть таким:
chocolate 2
snickerdoodle 1
vanilla 3
sugar 1
Я просто запутался в том, как сделать std :: map, как это в java, потому что я не уверен, сколько будет строк. Спасибо и любая помощь приветствуется.