集合類【Java】
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所示
相關文章
- Java集合類——MapJava
- Java集合類初探Java
- Java —— 集合工具類(Collections 類)Java
- Java 集合類——Collections(1)Java
- Java 集合類——Collections(3)Java
- Java集合類的概述Java
- Java 集合類——Collections(2)Java
- Java集合類原始碼Java原始碼
- java集合類介紹Java
- 常用Java集合類總結Java
- Java 集合類入門篇Java
- Java集合類初步瞭解Java
- 【Java原始碼】集合類-ArrayDequeJava原始碼
- java學習(七) —— API集合類JavaAPI
- Java集合類學習總結Java
- Java集合系列(一):集合的定義及分類Java
- java集合類——Stack棧類與Queue佇列Java佇列
- BAT面試必備——Java 集合類BAT面試Java
- Java集合框架中的介面和類Java框架
- 【Java】Java容器篇(二),深入理解List集合類Java
- Java集合詳解8:Java集合類細節精講,細節決定成敗Java
- Java併發-執行緒安全的集合類Java執行緒
- JAVA集合類簡要筆記 - 內部類 包裝類 Object類 String類 BigDecimal類 system類Java筆記ObjectDecimal
- Java執行緒安全的集合類:Map、List、SetJava執行緒
- Java集合類操作最佳化經驗總結Java
- day08_我的Java學習筆記 (String類、ArrayList集合類)Java筆記
- 【Java集合原始碼剖析】Java集合框架Java原始碼框架
- 【JAVA集合】JAVA集合框架及其常用方法Java框架
- 【Java集合】1 集合概述Java
- java集合Java
- 集合類關係
- Java集合類,從原始碼解析底層實現原理Java原始碼
- Java集合類常見面試知識點總結Java面試
- Java併發集合類ConcurrentHashMap底層核心原始碼解析JavaHashMap原始碼
- Java集合詳解(一):全面理解Java集合Java
- Day55.IO流複習 -Java常用類、集合、IO#Java
- Java 集合概述Java
- 【java】【集合】TreeSetJava