3.set中value是唯一的
4.容器中不允许修改,因为元素总是const常量,但可以插入或删除
set的接口使用
std::set first; // empty set of ints
int myints[]= {10,20,30,40,50}; //利用数组
std::set second (myints,myints+5); // range
std::set third (second); // a copy of second
std::set fourth (second.begin(), second.end()); // iterator ctor.
std::set<int,classcomp> fifth; // class as Compare
map
1.底层通常为平衡二叉搜索树
2.支持 [] 下标访问
3.按照特定次序储存元素
map() //构造一个空的map
begin()和end() //begin:首元素的位置,end最后一个元素的下一个位置
cbegin()和cend() //与begin和end意义相同,但cbegin和cend所指向的元素不能修改
rbegin()和rend() //反向迭代器,rbegin在end位置,rend在begin位置,其++和–操作与begin和end操作移动相反
crbegin()和crend() //与rbegin和rend位置相同,操作相同,但crbegin和crend所指向的元素不能修改
bool empty ( ) const //检测map中的元素是否为空,是返回true,否则返回false
size_type size() const //返回map中有效元素的个数
mapped_type& operator[] (const key_type& k) //返回去key对应的value
pair<iterator,bool> insert (const value_type& x )
//在map中插入键值对x,注意x是一个键值对,返回值也是键值对:iterator代表新插入元素的位置,bool代表释放插入成功
void erase ( iterator position ) //删除position位置上的元素
size_type erase ( const key_type& x ) //删除键值为x的元素
void erase ( iterator first,iterator last ) //删除[first, last)区间中的元素
void swap (map<Key,T,Compare,Allocator>&mp ) //交换两个map中的元素
void clear ( ) //将map中的元素清空
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618164986)
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!