1 #include <string>
2 #include <iostream>
3 #include <algorithm>
4 #include <map>
5 #include <vector>
6 using namespace std;
7 typedef map<string,string> STRING2STRING;
8 typedef map<string,vector<string>> STRING2VECTOR;
9
10 int main()
11 {
12 map<string,string> map_test;
13 map_test.insert(STRING2STRING::value_type("2001","test1"));
14 map_test.insert(STRING2STRING::value_type("2002","test2"));
15 map_test.insert(STRING2STRING::value_type("2003","test3"));
16 map_test.insert(STRING2STRING::value_type("2004","test4"));
17 map_test.insert(STRING2STRING::value_type("2005","test5"));
18
19 map<string,string>::const_iterator map_conitor=map_test.begin();
20 while(map_conitor!=map_test.end())
21 {
22 cout<<map_conitor->first<<" "<<map_conitor-second<<endl;
23 map_conitor++;
24 }
25 vector<string> vec1;
26 vec1.push_back("test1_vector1");
27 vec1.push_back("test1_vector2");
28 vec1.push_back("test1_vector3");
29 vec1.push_back("test1_vector4");
30 vector<string> vec2;
31 vec2.push_back("test2_vector1");
32 vec2.push_back("test2_vector2");
33 vec2.push_back("test2_vector3");
34 vec2.push_back("test2_vector4");
35
36 map<string,vector<string>> testMap;
37 testMap.insert(STRING2VECTOR::value_type("10001",vec1));
38 testMap.insert(STRING2VECTOR::value_type("10002",vec2));
39
40 map<string,vector<string>>::iterator map_it=testMap.begin();
41 while(map_it!=testMap.end())
42 {
43 cout<<map_it->first<<"/t";
44 vector<string>::iterator mapvec_itor=map_it-second.begin();
45 for ( ; mapvec_itor != map_it->second.end(); mapvec_itor++)
46 {
47 cout<<(*mapvec_itor)<<" ";
48 }
49 cout<<endl;
50 }
51 map<string,vector<string> >::iterator iter=testMap.find( "10002" );
52 if(iter!=testMap.end())
53 {
54 vector<string>::iterator it = iter->second.begin();
55 while(it != iter->second.end())
56 {
57 cout<<(*it++)<<endl;
58 }
59 }
60 return 0;
61 }