集合框架

                                                                                                                               集合類概述 

首先Collection接口是層次結構中的根接口。構成Collection的單位稱爲元素。Collection接口通常不能直接使用,但該接口提供了添加元素,刪除元素,管理數據的方法。(俗稱增刪改查),由於List接口與Set接口都繼承了Collection接口,因此這些方法對List和set集合是通用的。

常用集合類的繼承關係圖


         

Collection接口的常用方法


List集合

    List集合包括List接口以及List接口中的所有實現類。List集合中的元素允許重複,各元素的順序就是插入對象的順序。類似JAVA數組,可通過索引((index)即元素在集合中的位置)來訪問集合中的元素。

  List接口繼承了Collection接口,因此包含Collection中的所有方法,此外List接口還定義了以下非常重用的方法。

① get(int index): 獲取指定索引位置的元素。

② set(int index , Object obj): 將集合中指定索引位置的對象修改爲指定對象。

List集合的實現類

List 接口的常用實現類有ArrayList 和LinkedList。

ArrayList實現了可變的數組,允許保存所有的元素,包括null,並可以根據索引位置對集合進行快速的隨機訪問;缺點是指定索引位置插入對象或刪除對象的速度較慢。

LinkedList類採用鏈表保存對象。這種結構的優點是便於向集合中插入和刪除對象,需要向集合中插入 刪除對象時,使用LinkedList類實現的List集合效率較高;但對於隨機訪問集合中的對象,使用LinkedList實現List集合的效率較高。

使用List集合時通常聲明爲List類型,可通過不同的實現類來實例化集合。

分別通過ArrayList,LinkedList實例化List集合,代碼如下:

List <E> list = new ArrayList<>();

List<E> list1 = new LinkedList<>();

Set集合

Set集合中的對象不按照特定的方式排序,只是簡單的把對象放入集合中,但set集合中不能包含重複對象。Set集合由Set接口和Set實現類組成。Set接口繼承了Collection接口,因此包含Collection接口的所有方法

Set接口常用的實現類有HashSet類和TreeSet類

HashSet類實現Set接口,由哈希表(HashMap的實例)支持。它不保證Set的迭代順序,特別是它不保證改順序恆久不變。此類允許使用null元素。

TreeSet類不僅實現了Set接口,還實現了java.util.SortedSet接口,因此,TreeSet類實習那的Set集合在遍歷集合時按照自然順序遞增排序,也可以按照指定比較器遞增排序,

即可通過比較器TreeSet類實現的Set集合中的對象進行排序。TreeSet新增的方法如下

TreeSet類增加的方法





Map集合

Map集合沒有繼承Collection接口,其提供的是key到value的映射。Map中不能包含相同的key,每個key只能對應相應value.。key還決定了存儲對象在映射中的存儲位置,但不是由key對象決定的,而是通過一種"散列技術"進行處理,產生一散列碼的整數值,散列碼通常用作一個偏移量,該偏移量對應分配給映射的內存區域的其實位置,從而確定存儲對象在映射的存儲位置。Map集合包括Map接口的所有實現類。

Map接口

Map接口提供了將key映射到值的對象。一個映射不能包含重複的key,每個key做多隻能映射到一個值。Map接口中同樣提供了集合的常用方法,除此之外還包括下表所示。

                                       




 



           


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章