天天看點

集合類架構及基本接口 ---Java

集合即存儲對象的容器。

在程式中有可能無法預知需要多少對象。數組雖然也可以存儲對象,但長度是固定的,不好定義。但集合類容器的長度可變。每一個容器對資料的存儲方式(資料的存儲結構)都有不同,是以有不同的集合類。

集合類架構(Java Collection Framework)

在java中有一套設計優良的接口和類組成了Java集合架構,通過集合可以友善地操作成批的資料或對象元素。

所有的Java集合都在java.util包中。

  • Collection集合類
集合類架構及基本接口 ---Java
  • Map集合
集合類架構及基本接口 ---Java

集合類架構的基本接口

從以上可以看書,頂端有四個接口:Collection、Map、List、Set。其中,List和Set接口繼承自Collection接口。

  • Collection接口:

    Collection是單列集合的根接口,是元素集合。定義了存取一組對象的方法,其子接口List、Set分别定義了存取方式。

Collection接口繼承了Iterable接口,其中繼承的最重要的方法是iterator()。

  • List接口

    List是有序元素集合,可以包含重複元素。

實作List接口的常用類有ArrayList,LinkedList,Vector,Stack四種,其中,Stack繼承自Vector。

  • Set接口

    Set是無序元素集合,不包含重複元素。即任意的兩個元素都有e1.equals(e2)=false,Set最多有一個null元素。

實作Set接口的類有HashSet,TreeSet,LinkedHashSet。

  • Map接口

    Map是雙列集合的根接口,用于存儲具有鍵(key)、值(value)映射關系的元素。一個Map中的key不能重複。Map接口提供3種集合的視圖,Map的内容可以被當作一組key組合、一組value組合、或一組key-value映射。

實作Map接口的類有HashMap,HashTable,TreeMap,LinkedHashMap。

List, Set, Map三個接口,存取元素時的特點

1.List接口存取元素:

List中有順序,可重複。

  • 存元素: (1)調用add(Object)方法,多次調用時,每次加入的對象按先來後到的順序排序。

    (2)調用add(int index,Object),可以插隊,指定目前對象在集合中的位置進行存放。

  • 取元素:(1)Iterator方法取得所有元素,再逐一周遊各個元素。

    (2)調用get(index)來明确說明取第幾個元素。

2.Set接口存取元素:

Set無序,不可重複。

  • 存元素:add(),add方法有一個boolean的傳回值,當集合中沒有該元素時,可成功加入,傳回true;當集合中存在于該元素equals相等的元素時,無法加入該元素,傳回結果為false。
  • 取元素:因為無序,不能說明取第幾個。隻能以Iterator方法取得所有元素,再逐一周遊各個元素。

3.Map接口存取元素:

Map存放鍵值對,鍵不能重複。

*存元素:用put方法,put(obj key,obj value)。每次存儲,要存儲一對key,value,不能存放重複的key,判斷是否重複,按equals來比較。

*取元素:可以用get(Object key)根據key獲得相應的value;也可以獲得所有的key的集合;也可以獲得所有的value的集合;也可以獲得key和value組合成的Map.Entry對象的集合。

補充:

Iterable接口,Iterator方法

List、Set、Map的實作類詳解

繼續閱讀