Java 集合框架淺識

本章先認識,下面會針對每一個不同的集合特性做詳細說明。

集合框架概述

java集合框架包含的內容
這裏寫圖片描述

集合框架是爲表示和操作集合而規定的一種統一的標準體系結構。集合框架都包含三大塊內容:對外的接口,接口的實現和對集合運算的算法。

Java集合框架中的兩大類接口:Collection和Map,其中,Collection又有兩個子接口:List 和Set。所以通常說java集合框架供有三大類接口:List,Set和Map。它們的共同點:都是集合接口,都可以用來存儲很多對象。它們的區別如下:

Collection接口存儲一組不唯一,無序的對象。
Set接口繼承Collection接口,存儲一組唯一,無序的對象。
List接口繼承Collection接口,存儲一組不唯一,有序的對象。
Map接口存儲一組成對的鍵-值對象,提供Key到value的映射。Key(鍵)不要求有序,不允許重複。Value同樣不要求有序,但允許重複。
Iterator接口是負責定義訪問和遍歷元素的接口。

List接口

實現List接口的常用類有ArrayList 和LinkedList。
LinkedList採用鏈表存儲方式,優點在於插入,刪除元素時效率比較高。它提供了額外的addFirst(),addLast(),removeFirst()和removeLast()等方法,可以在LinkedList的首部或尾部進行插入或刪除操作。

            List接口中定義的各種常用方法

這裏寫圖片描述

Map接口

HashMap集合類

Map接口存儲一組成對的鍵-值對象,提供key到value的映射,Map中的key不要求有序,不允許重複。Value同樣不要求有序,但允許重複。最常用的Map實現類是HashMap,它的存儲方式是哈希表。哈希表也稱爲散列表,是根據關鍵碼值(key,value)而直接進行訪問的數據結構。

Map常用方法

這裏寫圖片描述

Hashtable 和 HashMap的異同
兩者主要區別如下:

Hashtable繼承自Dictionary類,而HashMap實現了Map接口。
Hashtable是線程安全的,HashMap重速度,輕安全,是線程非安全的,所以當運行到多線程環境中時,需要程序員自己管理線程的同步問題。
Hashtable不允許null值(key和value都不允許),HashMap允許null值(key和value都允許)

迭代器Iterator

Iterator爲集合而生,專門實現集合的遍歷。它隱藏了各種集合實現類內部細節,提供了遍歷集合的統一編程接口。
Collection接口的iterate()方法返回一個Iterator,然後通過Iterator接口的兩個方法即可方便地實現遍歷。

Boolean hasNext():判斷是否存在另一個可訪問的元素。
Object next() :返回要訪問的下一個元素。

            Set  keys = 集合對象.keySet(); //取出所有key的集合
            Iterator  it = keys.iterator() ; //獲取Iterator對象
            While(it.hasNext()){
                String key =(String)it.next(); //取出key
            }

使用foreach語句遍歷

Set keys =dogMap.keySet(); //取出所有key的集合
For(Object key : keys){
Dog dog = (Dog)dogMap.get(key); //根據key取出對應的值
}

Map.Entry遍歷
這裏寫圖片描述

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