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 }