Java零基础学习-----JAVA核心类库(上)(六)

List集合的概念和ArrayList类的源码解析

 

List集合(重中之重)

基本概念:

  • java.util.List集合是Collection集合的子集合,该集合中允许有重复的元素并且有先后放入次序。
  • 该集合的主要实现类有:ArrayList类、LinkedList类、Stack类、Vector类。
  • 其中ArrayList类的底层是采用动态数组进行数据管理的,支持下标访问,增删元素不方便。
  • 其中LinkedList类的底层是采用双向链表进行数据管理的,访问不方便,增删元素方便。
  • 可以认为ArrayList和LinkedList的方法在逻辑上完全一样,只是在性能上有一定的差别,ArrayList

更适合于

  • 机访问而LinkedList更适合于插入和删除;在性能要求不是特别苛刻的情形下可以忽略这个差别。
  • 其中Stack类的底层是采用动态数组进行数据管理的,该类主要用于描述一种具有后进先出特征的

数据结构,叫做栈(last in fifirst out LIFO)。

  • 其中Vector类的底层是采用动态数组进行数据管理的,该类与ArrayList类相比属于线程安全

类,效率比较低,以后开发中基本不用。

常用方法:

 

 

 

 

 

Stack类:

其中Stack类的底层是采用动态数组进行数据管理的,该类主要用于描述一种具有后进先出特征的

数据结构,叫做栈(last in fifirst out LIFO)

Vector类:

其中Vector类的底层是采用动态数组进行数据管理的,该类与ArrayList类相比属于线程安全的

类,效率比较低,以后开发中基本不用。(扩容:扩大2倍,ArrayList扩大1.5倍)

 

 

 

其中subList中,子类集合和当前集合共用同一块内存空间。

 

Queue类

基本概念:

  • java.util.Queue集合是Collection集合的子集合,与List集合属于平级关系。
  • 该集合的主要用于描述具有先进先出特征的数据结构,叫做队列(fifirst in fifirst out FIFO)。
  • 该集合的主要实现类是LinkedList类,因为该类在增删方面比较有优势。

常用方法:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章