Java编程工作中,经常对数据储存是Arraylist和hashMap,他们保持长度可变,而且可以很好对保持其中数据遍历和排序。所以我就c++中的对等的方法。
c++中的字典map和unordered_map:
#include <map> #include <unordered_map> #include <iostream> int main(){ std::map<std::string,int> m; m["s"]=0; m["a"]=1; m["d"]=2; m["c"]=3; m.insert({"f",4}); //第二种方式插入数据 //采用普通方法遍历 for (std::map<std::string,int>::iterator i=m.begin();i!=m.end();i++) { std::cout <<"key " << i->first <<" values "<< i->second <<std::endl; } std::cout<<"********************************"<<std::endl; //unordered_map std::unordered_map<std::string,int> *unorderedMap=new std::unordered_map<std::string,int>(); unorderedMap->insert({"s",0}); unorderedMap->insert({"a",1}); unorderedMap->insert({"d",2}); unorderedMap->insert({"c",3}); unorderedMap->insert({"f",4}); //采用第二种方法遍历 for (auto& i:*unorderedMap){ std::cout <<"key " << i.first <<" values "<< i.second <<std::endl; } return 0; }运行结果:
key a values 1 key c values 3 key d values 2 key f values 4 key s values 0 ******************************** key f values 4 key c values 3 key d values 2 key s values 0 key a values 1总结:
map和unordered_map 都是key,value的形势保持数据,而且key都是唯一性,但是c++中的map和java中的treeMap一样,自动对key进行排序,而unordered_map 更新java中的hashMap一样,没有对key进行有序储存。
c++中 list,set ,vector
//vector std::vector<std::string> *data=new std::vector<std::string>(); data->push_back("1"); data->push_back("2"); data->push_back("4"); data->push_back("3"); for (auto& d:*data) { std::cout <<"vector "<< d <<std::endl; } //list std::list<std::string> *list=new std::list<std::string>(); list->push_back("1"); list->push_back("2"); list->push_back("4"); list->push_back("3"); for(std::list<std::string>::iterator i=list->begin();i!=list->end();i++){ std::cout << "list " <<i->front()<<std::endl; } /* for (auto& d:*list) { std::cout << "list" <<d <<std::endl; }*/ //set std::set<std::string> *set=new std::set<std::string>(); set->insert("1"); set->insert("2"); set->insert("4"); set->insert("3"); for (auto& d:*set) { std::cout <<"set "<< d <<std::endl; }运行结果:
vector 1 vector 2 vector 3 list 1 list 2 list 3 list 4 set 1 set 2 set 3 set 4总结:
vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。set的特性是,所有元素都会根据元素的键值自动排序,不会像vector和list保持插入的顺序。如果非要却别vector和list的话:如果需要高效的随机存取,而不在乎插入和删除的效率,使用vector;如果需要大量的插入和删除,而不关心随机存取,则应使用list。
1.《java如何访问词典》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《java如何访问词典》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3219502.html