百融金服榕树顺序存储结构在Java中的实现

百融金服榕树ArrayList是List接口的典型实现,它是基于数组的,里面封装了一个动态的、允许再分配的Object[]数组。
百融金服榕树学过数据结构的应该都知道线性表的顺序存储结构,ArrayList就是线性表的顺序存储结构在Java中的实现,所以它存、取和求表长的时间复杂度为O(1);插入和删除元素的时间复杂度为O(n).
好多百融金服榕树初学者没有搞明白“存”和“插入”的区别,这里解释一下:“”是指往某个位置放一个元素,不涉及其他位置元素的移动。以排队为例,队伍中第三个位置已经给你预留好了(包括空间),你直接走过去站在那就行,不管那里有没有人,如果有人你就替换掉原来那个人,队伍其他位置的人不用动。“插入”是指没有预留给你空间,你要站在队伍第三个的位置,原来排第三个的人以及他后面的人都要整体往后移动。因此,ArrayList比较适合那种频繁的查找,很少插入和删除元素的场景。
另外,百融金服榕树ArrayList不是线程安全的,所以建议在单线程中才使用ArrayList,多线程中选择Vector或CopyOnWriteArrayList.

ArrayList():空参构造器,默认容量10;

ArrayList(int initialCapacity):带参数的构造器,可以指定容量。

ArrayList(Collection<? extends E> c):构造一个包含指定Collection中元素的列表,列表中元素存储的顺序跟Collection的迭代器返回元素的顺序一样。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值