ArrayList具有数组的查询速度快的优点以及增删速度慢的缺点

Posted borter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArrayList具有数组的查询速度快的优点以及增删速度慢的缺点相关的知识,希望对你有一定的参考价值。

LinkedList接口(在代码的使用过程中和ArrayList没有什么区别)

ArrayList底层是object数组,所以ArrayList具有数组的查询速度快的优点以及增删速度慢的缺点。

而在LinkedList的底层是一种双向循环链表。在此链表上每一个数据节点都由三部分组成:前指针(指向前面的节点的位置),数据,后指针(指向后面的节点的位置)。最后一个节点的后指针指向第一个节点的前指针,形成一个循环。

双向循环链表的查询效率低但是增删效率高。所以LinkedList具有查询效率低但增删效率高的特点。

ArrayList和LinkedList在用法上没有区别,但是在功能上还是有区别的。

LinkedList经常用在增删操作较多而查询操作很少的情况下:队列和堆栈。

队列:先进先出的数据结构。

堆栈:后进先出的数据结构。

 

 1 package TomTexts;
 2 
 3         class superClass{
 4             void superPrint(){
 5                 System.out.println("This is superClass!");
 6             }
 7         }
 8         class subClass extends superClass{    
 9             
10             void superPrint(){
11                 System.out.println("This is subClass!");        
12             }
13         }
14         public class TomTexts_10{
15             public static void main(String args[]){
16                 subClass subObject = new subClass();
17                 subObject.superPrint();  //子类对象调用子类的方法
18                 superClass superObject = new superClass();
19                 superObject.superPrint();  //父类对象调用父类的方法
20             }
21         }

 

以上是关于ArrayList具有数组的查询速度快的优点以及增删速度慢的缺点的主要内容,如果未能解决你的问题,请参考以下文章

简易版Java ArrayList(增删改查)

ArrayList与LinkList

HashMap为啥比数组查询速度快?

数据结构之ArrayList

从0开始手写ArrayList动态数组

ArrayList用法整理