黑馬程序員---Java中的集合(二)--List派系

                                                 關於Java中的集合-List派系(二)
                 --------- android培訓java培訓、java學習型技術博客、期待與您交流! ------------

上一篇總結了集合框架中老大Collection,這篇總結它下面的幾個小弟List派系

1.List派系
List是一個接口,是這個列表清單的頂層接口 。他下面有這些小弟
數組鏈表ArrayList,鏈表LinkedList,數組Vector

凡是List集合中的所有小弟,特點:
 A .    存儲到List集合中的對象,有序排列的 123 abc
 B.     存儲的時候,和取出的時候順序一致
 C.     List集合允許存儲重複對象
 D.     List集合存儲的對象都有下標

//================================================
2.List接口中的方法

void add(int index, E element) 在一個指定的位置上,插入一個對象
     
Object get(int index)通過下標,獲取指定下標上的元素 。通過for循環遍歷也可以獲取集合。

Object remove(int index)通過下標,移除指定的元素 .返回的是,被刪除的那個元素 
Object set(int index, Object Element)修改指定位置上的元素 。

List subList(int fromIndex, int toIndex) 獲取集合一部分,返回新集合 subtring

listIterator() 返回List特有迭代器對象

//================================================
3.List派系的特有迭代器ListIterator

A.正向遍歷集合,逆向遍歷集合 。遍歷的過程中,可以修改集合,包括增加,刪除

B.逆向遍歷的 前提條件,正向遍歷一次
hasPrevious() == hasNext()
previous() == next()

使用List集合進行特有的逆向遍歷的案例:

//使用List集合進行特有的逆向遍歷
 private static void method_1(){
  List list = new ArrayList();
  list.add("abc1");
  list.add("abc2");
  list.add("abc3");
  list.add("abc4");
 
  ListIterator lit = list.listIterator();
  //前提條件,正向遍歷一次
  while(lit.hasNext()){
   System.out.println(lit.next());
  }
  System.out.println("=========================");
 
  while(lit.hasPrevious()){
   System.out.println(lit.previous());
  }
 }

//=====================================================
4. ArrayList類
1. 底層數據結構是數組,可變的數組
2. 增長率50%
3. 查詢快,增刪慢
4. 線程不安全,執行效率很高
5. 需要集合存儲對象的時候,如果迭代比較頻繁,首先考慮使用ArrayList

  增insert 刪delete 改update 查select

//=====================================================
5. Vector 類

  這個集合的底層數據結構,是可變數組結構
  查詢快,增刪慢
  Vector增長率100%
  Vector集合線程安全的,執行效率低
  從1.2版本開始,ArrayList取代Vector

//=====================================================
6. LinkedList類
  LinkedList底層數據結構,鏈表數據結構
  查詢慢,增刪快
  線程不安全,執行效率高
  LinkedList自己特有的方法
   void addFirst(E e)
          將指定元素插入此列表的開頭。
   void addLast(E e)
          將指定元素添加到此列表的結尾。
   
    E removeFirst()
          移除並返回此列表的第一個元素。
    E removeLast()
          移除並返回此列表的最後個元素
    E getFirst()
          返回此列表的第一個元素。
    E getLast()
          返回此列表的最後一個元素。 


                       --------- android培訓java培訓、java學習型技術博客、期待與您交流! ------------
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章