java集合框架 - list map set三大基本集合類

在介紹具體的集合之前,本篇文章對Java中的集合框架做一個大致描述,從一個高的角度俯視這個框架,瞭解了這個框架的一些理念與約定,會大大幫助後面分析某個具體類,讓我們開始吧。

1.集合框架(collections framework

在計算機領域,集合一般是指對象的集合,框架則是指有明確關係的集合的集合,其實這些新名詞都是一個統稱,歸根結底集合也是一個類,只不過是一個可以儲存並且處理多個其他對象的類,而框架就是類之間的整體關係。這是一種存儲思想,其實說白了,可以把一個集合看成一個微型數據庫,操作不外乎“增刪改查”四種操作。

2.兩大基類Collection與Map

在集合框架的類繼承體系中,最頂層有兩個接口:Collection表示一組純數據,Map表示一組key-value對,Key和value都是對象(我們把基本數據類型也看成是對象),一般繼承自CollectionMap的集合類,會提供兩個“標準”的構造函數:

1.沒有參數的構造函數,創建一個空的集合類

2.有一個類型與基類(CollectionMap)相同的構造函數,創建一個與給定參數具有相同元素的新集合類

因爲接口中不能包含構造函數,所以上面這兩個構造函數的約定並不是強制性的,但是在目前的集合框架中,所有繼承自CollectionMap的子類都遵循這一約定。

3.List Set Map基本集合


1.List Set都是繼承Collection的接口,List元素有放入順序,元素可以重複;Set元素放入無順序,重複元素被覆蓋。

Set:檢索元素效率低下,刪除和插入效率高,插入和刪除不會引起元素位置改變。 
List:和數組類似,List可以動態增長,查找元素效率高,插入刪除元素效率低,因爲會引起其他元素位置改變。
   

2.Map單獨存在,是一個適合存儲鍵值對的集合。

 4. 使用方法

這三大基本集合都是接口,因此使用的時候一般都用他們的實現類,也就是ArrayList LinkedList HashMap HashTable,ConCurrentHashMap,eg:List<String> list = new ArrayList<String>();

其實這些集合的東西歸根結底都是基本的三大數據結構,線性表,鏈表,和散列表,以上常用的類都是基於這些數據結構單獨實現或組合。


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