本期文章介绍的是另一种数据结构列表。
列表具有以下了两个主要的特征:(1)列表是一种抽象的数据结构类型;之所以说它抽象,是因为列表的元素在Memory中具体的储存方式是不可知的。上期文章介绍的Array就不是抽象的数据结构类型,因为我们知道Array中的元素Memory中是以连续的形式存在的,并且每个元素占用大小相同的Memory。因此对于列表,我们只能知道具体的操作方式,例如如何增减元素,如何提取元素等。(2)列表是有序的序列,即列表中的元素是有先后顺序的。
在Java中,主要有三种列表类型:ArrayList,Singly Linked List以及Doubly Linked List。
【ArrayList】
ArrayList的主要特征如下:(1) 有最大容量的限制。也就是说,你创建了一个ArrayList的同时需要指定一个容量,比方说10,那么你就不能往ArrayList中增添11个元素。(2)ArrayList的Size指的是目前元素的个数。(3)ArrayList支持Random Access,只需要知道元素的index,就可以访问ArrayList里的任何元素,耗时是O©。
【Singly Linked List】
Singly Linked List的主要特征如下:(1)Lis