[原创] Set、List、HashMap优缺点比较,高性能集合


遍历速度 插入删除速度 随机访问速度 备注
Set 比list多占一个指针的存储空间
List 必须之前知道数组元素个数,因为申请内存是连续长度明确的
HashMap 适合海量数据,o(1)的随机访问速度,不是可遍历
变体Set set的基础上多占一个List的控件,不过各种性能都好
变体List 插入快不能删除 各种性能都好就是不能有删除操作

变体Set:SetList,在SetList,保存一个状态(listEnable),调用get(index)方法时,如果listEnable=false,为该SetList简历一个List,用set元素填充List个元素,用List随机访问。如果listEnable=true,直接随机访问list。调用add和delete的时候设置listEnable为false,回收list的空间。这样就有所有的有点,但是存储空间是原来的2倍

变体List:建立一个足够大的List,这个list只能插入不能删除,一旦数量到达上限,新建一个list二倍容量的list把元素考过去。这样只有不能删除一个缺点,其他优点都有。

优质内容筛选与推荐>>
1、【轉貼】如何寫好自己的resume!
2、奇偶校验码
3、enumerate next eval reload 内置函数的用法
4、新金花是否使用注册机
5、观察和并迭代不同任务的未处理异常


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号