集合類【Java】

Enjoy_process發表於2018-10-13

Java集合類提供了一些基本資料結構的支援,主要負責儲存、盛裝其他資料,因此又將集合類稱為容器類。Java集合類通常分為Set、List、Map和Queue四大體系。其中,Set代表無序的、不允許有重複元素的集合,List代表有序的、允許有重複元素的集合,Map代表具有對映關係的集合,Queue代表佇列集合。Java的集合類主要由兩個介面派生而來:Collection介面和Map介面。

集合與Collection API

集合類似於儲存一組物件的儲存庫,是用來儲存和管理其他物件的物件,即物件的容器。它是Java中非常重要的一種資料結構。和陣列類似,一個集合中可以存放很多元素,但與陣列不同的是,集合的長度是可變的,而陣列的長度是固定不變的;集合用來存放物件的引用,而陣列用來存放基本型別的資料;集合可以儲存多種型別的資料,而陣列只能儲存單一型別的元素。Java中提供了有關集合的類庫,即Collection API。Collection API中的介面和類主要包含在java.util包中。其中,最基本的集合介面是Collection介面,根據組織方式及實現功能的不同,Collection的子介面分為兩類:Set介面和List介面。Java中沒有直接提供Collection類,但是提供了一些Collection子介面的實現類。

集合框架概述

所謂框架就是一個類庫的集合,集合框架就是一個用來表示和操作集合的框架,包含了實現集合的介面與類。“集合框架”主要由一組用來操作物件的介面組成,如圖1所示,包含了實現集合的介面與類。不同介面描述不同型別的組。在集合框架的介面中定義了一些抽象方法,這些方法代表了實現它的集合類的共性。例如,Java集合框架中的類都有增加元素、刪除元素、檢視內容和各種使用元素的方法;集合中的元素均為類型別,但型別不要求一致;資料放入集合後,預設為Object型別,取出時需要強制型別轉換。從體系上講,集合型別可以歸納為3種:集(Set)、列表(List)和對映(Map)。

Set集合是無序集,Set集合中不區分元素的順序,不允許出現重複的元素。SortedSet繼承Set介面,與Set集合相同也不允許出現重複的元素,但集合中的元素是有序排列的(非插入順序)

List集合是有序集,在List中元素的儲存按照加入時的順序排列,以索引的方式提供對元素的訪問,且允許包含重複元素。

對映中儲存成對的“鍵-值”(Key-Value)資訊,Key和Value均為物件,對映中不能包含重複的鍵,,鍵的排列是無序的,每個鍵最多隻能對映一個值。SortedMap繼承Map介面,但它的鍵是有順序的集合。

集合框架中各個介面的實現類如圖2所示

Collection介面

List介面及其主要實現類

Iterator及Enumeration

Map類及其主要的實現類

Set介面及其實現類

 

相關文章