首先,底层数据结构不同
arraylist底层基于数组实现,连续内存存储同学聚会讲话,需要预先申请分配一段连续的内存空间(创建数组对象),适目标市场策略合下标访问(随机访问),需要创建多大的数组不好确定,如果数组长度过大,会造成内存空间浪费的问题,如果数组长度过小,当数组已满时想要添加新的元素,就需要创建一个新的数组,新的数组长度是旧数组的1.5倍,并把数据从旧数组复制到新数组中,然后才能添加新的元素。创建新的数组、旧数组数据复制到新数组,都是比较重量级的操作。另外,如果不是在尾部插入、删除数据还会涉及到元素海底两万里读后感600字的移动,使用尾插法并指定初始容量可以极大提高性怎么让鼻头变尖能,甚至超过linkedlist,因为linkedlist需要创建大量的node对象。
linkedlist底层基于双向链表实现,元素可以储存在分散的内存中,适合做数据插入操作及删除关照的近义词操作,不适合随机查询,需要逐一遍历。
其次,arraylist和linkedlist都实现了list接口,但是linkedlist还额外地实现了deque接口,所以linkedlist还可以当作队列来用,利用双向链表和队列的特性,还是可以当作栈来使用。
本文发布于:2023-04-05 03:09:58,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/a6f58247a7d71668a754cdca76d8fb6a.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:linkedlist和arraylist的区别是什么(java的四种引用关系从强到弱).doc
本文 PDF 下载地址:linkedlist和arraylist的区别是什么(java的四种引用关系从强到弱).pdf
留言与评论(共有 0 条评论) |