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 }