复习set、map的常用接口【菜鸟学习日记】
2018-04-02 20:10
495 查看
set&&map
set (K)
map(K V)
1、multiset与set的区别就是,multiset允许键值重复,multimap同理;
2、set和map的底层都是用红黑树实现的 ;
在map里存的是一个pair对象
template<class K,class V> struct pair{ K first; //key V second; //value }
map
要注意end返回的是最后一个的下一个,其他的没有什么
insert三个版本
- 插入一个
- 特定位置插入
- 插入一个区间
主要看第一个版本
pair<iterator,bool>insert(const value_type& val)
返回一个pair,除了返回一个迭代器外,还返回一个bool值,标志是否插入成功
operator[ ]其实是调用insert实现的
insert&&operator[ ]
void testmap() { map<string, size_t> mymap; //insert mymap.insert(make_pair("linda", 5)); mymap.insert(make_pair("peter", 6)); mymap.insert(make_pair("xiaoming", 7)); //operator[ ] mymap["zhangsan"] = 4; mymap["lisi"] = 8; //begin、end map<string, size_t>::iterator it = mymap.begin(); while (it != mymap.end()) { cout << it->first << ":" << it->second << endl; it++; } }
1、operator[ ]可以修改value的值,但insert不可以
2、value的值必须有必须有默认的拷贝构造
这里size_t类型默认为0,如果是string默认为空字符串
相关文章推荐
- 几个JAVA集合中常用的接口学习:Collection、Iterator和Map
- Java学习之容器上(Collection接口常用方法,Iterator接口,使用foreach循环遍历Collection集合元素,Set集合通用知识(Hashset类,hashcode()与Lin
- java学习日记_85:集合框架之set接口
- Java学习之容器上(Collection接口常用方法,Iterator接口,使用foreach循环遍历Collection集合元素,Set集合通用知识(Hashset类,hashcode()与LinkedHashSet类))
- JAVA 常用集合接口List、Set、Map总结
- JavaScript学习日记5 map和set
- 今日学习札记——STL常用容器:vector、list、set和multiset、map和multimap(11.17)
- 复习vector使用【菜鸟学习日记】
- 黑马程序员-JAVA学习之常用集合List,Set,Map
- 菜鸟学习c++—map使用练习 实现词频统计程序
- C++学习STL之关联容器 --- pair、map、set
- java 常用集合类数据结构介绍(list set map ConcurrentHashMap) 一
- 初学菜鸟的学习日记——栈结构(JAVA)
- android学习日记28--Android中常用设计模式总结
- STL中的常用的vector,map,set,Sort用法
- java学习日记_86:集合框架之Map
- ECMAScript6简介和学习笔记(三)symbol proxy reflect set map
- 排序的相关算法1--快排【菜鸟学习日记】
- 【java读书笔记】——Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
- Java菜鸟学习日记12