1. 程式人生 > >java中關於collection和map及其子類

java中關於collection和map及其子類

collection(集合)是一個根介面,用來描述一組物件的集合。JDK並沒有直接提供對個介面的實現,而是提供了對她的子介面的實現例如set和list等。在collection介面中用的最多的兩種基本方法是:add和 Iterator。add是把物件新增到相應的資料結構中,如果成功返回true,否則返回false(集合中不能擁有相同的元素)。而Iterator 方法則返回一個Iterator介面的物件。Iterator介面又包括了三種基本操作:next,hasnext,remove。next用來依次訪問資料結構中的元素,hasnext用來判斷是否還有沒有訪問的元素,remove用來刪除最後一次呼叫next返回的物件。
  
  Collection 一個允許重複元素的無序集合。
  Set 一個不允許元素重複的無序集合。
  List 有序集合,多數情況下允許元素重複,可按位置訪問,擴充套件自Collection。
  Map Key-Value對映。
  SortedSet 元素自動排序的集合,既可以使用預設的排序演算法,也可以指定其它的排序演算法。
  SortedMap 有序的Key-Value對映,既可以使用預設的按Key值排序演算法,也可以指定其它的排序演算法。
  List是collection的子介面,她是一種有序的集合(佇列)。通過他可以精確的控制訪問資料結構的順序和位置。
  set也是collection的子介面,她是一種無序、雜湊的集合(哈西表)。通過他可以快速查詢他的資料結構而不需要知道具體的排列方式。
  map(對映)是一個“鍵-值”對應的介面。每一個鍵只能對映唯一的值。
  還有些其他子介面及實現類可以參考 http://java.sun.com/j2se/1.4/docs/api/
  至於具體選用哪一種方案,以下僅供參考:
  1)大量的隨機訪問可以用ArrayList類
  2)大量的插入、刪除建議用LinkedList類
  3)關於Set,建議都使用HashSet類
  4)對映的最佳策略是建立和填充時用TreeMap日後需要大量檢索時再轉換成HashMap