ArrayList、LinkedList知识点总结

ArrayList:

arraylist的构造方法在不输入初始值时,会默认创建一个数量为10的空数组

如果构造方法输入了一个collection类,则会将其转换为数组,再进行赋值

MAX_ARRAY_SIZE为数组的最大个数。因为一些虚拟机在数组中保留一些头字。尝试分配更大的数组可能会导致OutOfMemoryError:请求的数组大小超过VM限制。所以最大的个数设为Integer.MAX_VALUE - 8。但我在实际创建的时候,发现这个值也会超,报错Requested array size exceeds VM limit。当减少一定值的时候,会报错 java.lang.OutOfMemoryError: Java heap space,即内存溢出,这个与设定的堆空间大小有关。

列表的contains方法实际是调用了indexof的方法,indexof的方法就是在遍历数组。对于指定位置的add和remove都会进行一次数组的拷贝

size是该列表真实的元素个数

LinkedList:

peek()与poll()方法可以查看、弹出队列的第一个元素,当为空列表时,不会抛出异常,而是元素展示null;还有peekFirst()、peekLast(),pollFirst()、pollLast()

element()和remove()方法可以查看,弹出队列的第一个元素,当为空列表时,会抛出nosuchelementexception异常。

offerFirst()和offerLast()是增加元素到第一个和最后一个,并不会抛出异常.

linkedlist在构造的时候,如果放入了collection的子类,name会把collection转换为数组,然后用node连接起来

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值