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把元素考过去。这样只有不能删除一个缺点,其他优点都有。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值