天天看點

Java學習筆記_23_List接口實作類

23.List接口實作類:

 List接口繼承了Collection接口,它是一個允許存在重複項的有序集合。

 1>實作類ArrayList:

  ArrayList類支援可随需要而增長的動态數組。數組清單以一個原大小被建立,當超過了它的大小,

  類集自動增大,當對象被删除後,數組就可以縮小。

  優點:ArrayList類對于使用索引取出元素用較高的效率,他可以用索引快速定位對象。

  缺點:ArrayList類對于元素的删除或插入速度較慢。

  構造方法:

  · ArrayList(): 構造一個初始容量為10的空清單。

  · ArrayList(Collection c): 構造一個包含指定Collection的元素清單,這些元素是按照該Collection的疊代器傳回它們

    的順序排列的。 

  · ArrayList(int capacity): 構造一個初始容量為capacity的空數組, 當元素被迫加到數組類表上時,容量會自動增加。

  ArrayList類的用法例子:

 輸出結果:

  c1: [0, 1, 2, 3, 4, 6]

  c2: [[0, 1, 2, 4, 6], hello]

  Iterator 周遊 c2: [0, 1, 2, 4, 6]

  Iterator 周遊 c2: hello

  c3: [0, 1, 2, 4, 6, hello]

  Iterator 周遊 c2: 0

  Iterator 周遊 c2: 1

  Iterator 周遊 c2: 2

  Iterator 周遊 c2: 4

  Iterator 周遊 c2: 6

2>實作類LinkedList:

 LinkList容器類通過連接配接指針來關聯前後兩個元素。

 構造方法:

 · LinkList(): 建立一個空的連接配接清單。

 · LinkList(Collection c): 建立一個清單,該清單有集合c中的元素初始化。

 下面用例子示範LinkList的一些方法:

 顯示初始化後ll的内容: [d, e, f, g]

 顯示添加操作後的ll内容: [b, a, d, e, f, g, z]

 顯示删除操作後ll的内容: [a, e, f]

 顯示設定操作後ll的内容: [a, e, eChanged]

3>實作類Vector:

 Vector類提供了實作可增長和縮短的數組功能,其與ArrayList類的操作大多數相同,差別在于Vector類是線程同步的。

 Vector類的構造方法:

 · Vector(): 構造一個空向量,其内部數組的大小為10,标準增量為0。

 · Vector(Collection c): 構造一個包含指定集合中的元素的向量,這些元素按其集合的疊代器傳回元素順序排列。

 · Vector(int initialCapacity): 使用指定的初始容量和等于0的增量構造一個空向量。 

 · Vector(int initialCapacity, int capacityIncrement): 使用指定的初始容量和容量增量構造一個空向量。 

 Vector的方法:

 · addElement(Object obj): 把元件添加到向量的尾部,同時向量容

   量比以前大1。

 · insertElementAt(Object obj, int index): 把元件插入到指定索引 

   處,此後的所有内容向後移動一位。

 · setElementAt(Object obj, int index): 把元件添加到指定索引處此

   處原先的元素被替換。

 · removeElemnet(Object obj): 把向量中含有的本元件移除。

 · removeAllElements(): 把向量中所有的元件移除。

 下面使用例子示範Vector的方法:

 顯示Vector的初始值: [one, two, three]

 顯示插入元素後Vector的值: [zero, one, two, oop, three]

 顯示修改後Vector的值:[zero, one, two, three, four]

 顯示删除指定元素後Vector的值: [zero, one, two]

 顯示删除所有元素後Vector的值: []

注:所有的Java集合都位于java.util包中,另外Java集合中不能存放基本類型資料,而隻能存放對象的引用。