List、Set和Map的意义和应用场景(简单明了 ̄□ ̄||)

(map就是从键(key)到值(value)的映射。因为重载了[]运算符,map像是数组的“高级版”。
例如可以用一个map<string, int> month_name 来表示“月份名字到月份编号”的映射)

从词义上可以看出来它们的大概作用:
list是顺序存放对象的,可以有相同的对象,通过索引存取;
set是无序存放对象的,其中不能有重复的对象(但LinkedHashSet是可以保证其有序性),set没有索引,使用迭代器iterator获取;
map,存放的是键与值的映射,其中键是唯一的(不能有重复对象),而值可以有重复的对象,存的时候,需要指定键和对应的值,取的时候可以根据键名取到值,也可以遍历。
至于在什么时候使用,这个是要因地制宜的。
list,如一个班的学生的成绩,成绩是可以重复的;
set,一般用于存放无序的不能重复的对象(但LinkedHashSet是可以保证其有序性),如一个班的学生的学号,学号是不能重复的;
map,用于存放具有对应关系的键值对,如一个班的学生的学号与姓名的映射,每个学号对应了一个学生的姓名,学号不能重复,但是姓名可能会重复;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值