几种集合的优缺点简单比较

dictionary/map、 list 查找原理:

  • 假设字典包含了1万个汉字,我们要查某一个字,一个办法是把字典从第一页往后翻,直到找到我们想要的字为止,这种方法就是在list中查找元素的方法,list越大,查找越慢。
  • 第二种方法是先在字典的索引表里(比如部首表)查这个字对应的页码,然后直接翻到该页,找到这个字。无论找哪个字,这种查找速度都非常快,不会随着字典大小的增加而变慢。dictionary 或 map 用的就是这种方法。这种key-value存储方式,在放进去的时候,必须根据key算出value的存放位置,这样,取的时候才能根据key直接拿到value。
    dic/map特点:
  • 查找和插入速度快,不会随着key的增加而变慢
  • 需要占用大量的内存,内存浪费多,以空间换时间的方法
    list:
  • 如果链表实现,查找速度随着元素的增加而变慢。如果是数组实现,插入速度会变慢。
  • 占用内存小,内存浪费少
    set: 和dic类似,也是一组key的集合,但不存储value。是一个特殊的dic。由于key不能重复,所以set元素不可重复
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值