1. 程式人生 > >泛型(Generics)和集合

泛型(Generics)和集合

 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                                                                                    08/05/12 開學的第十三天基礎記錄:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 1.泛型(Generics):也稱為型別引數,是將型別作為引數傳遞給程式
  //java泛型的意義在於保證了集合中元素的型別安全,簡化由型別不同造成的方法膨脹
 2.泛型分類:
  類泛型:在建立物件時指明型別
  public class AClass<E>{...}
  public class AClass<E,T>{...}
  方法泛型:通常是通過引數的型別指明
  public <E> void AMethod(E a){...}
  public <E,T> void AMethod(E a){...}
 3.注意:泛型定義可以使用繼承關係 但是泛型沒有多型
 4.集合:
  a.概念:
   集合是代表了一組物件的物件,集合中只能存放物件,而不能存放基本資料型別
   集合中存放的是物件的引用,而非物件本身,所以長效的集合使用完要置空
  b.集合與陣列的區別:
   陣列是順序儲存結構的線性表
   集合則有各種資料結構可以針對不同型別選擇不同型別的集合
   集合封裝了更為豐富的方法,利於重用;而陣列幾乎沒有方法
   集合提供了統一的迭代方法
  c.分類: 
   兩大類:
   Collection :每個條目(Entry)存放一個物件 ; Map:每個條目存放兩個物件,一個為鍵,一個為值
   Collection :
    List:元素有序,可以根據序號找到元素,元素可重複,允許出現一個或多個null元素
    Set:元素無序,無法根據序號找到元素,元素不可重複,一般只允許一個null元素
    Queue:FIFO結構
   Map:
    Map中任何實現必須保證儲存的鍵不重複,主要兩大類:SortMap ,ConcurrentMap
    Hashtable:
    HashMap:
    TreaMap: