1 arraylist实现基于数组 linkedlist实现基于链表
2 随机访问get arraylist可以根据下标直接get linkedlist get 首先传入一个index,判断index是否大于linkedlist size的一半,如果不大于从前端遍历,如果大于从后端遍历,找到对应index元素,对于随机的get arraylist由于linkedlist
3 add和remove
arraylist尾部添加数据直接在尾部插入,在arraylist中间插入数据,插入位置之后的数据需要往后移动一位,插入数据时涉及到扩容机制,每次扩容后数组长度是扩容前的1.5倍,最大容量是Integer.value-8。
arraylist remove一个数据,remove位置之后的数据需要往前移动一位。
linkedlist尾部添加数据直接在原尾部元素的next指向新加的元素,在linkedlist中间add一个元素,需要把插入位置前后元素的next,pre重新指向。
linkedlist remove一个元素需要把remove位置前后的元素的next,pre重新指向
对于add和remove linkedlist由于arraylist.
arraylist之与linkedlist
最新推荐文章于 2024-07-14 17:09:38 发布