Java集合框架的概念以及常用介面的介紹
導讀:為了解決陣列長度固定不變無法適應變化情況,無法獲取物件真實的儲存個數,查詢效率低下等問題,Java集合框架為我們開發了一套效能優良,使用方便的介面和類,用來儲存資料和進行各種資料操作,位於java.util包中。集合框架包含三大塊內容:對外的介面,介面的實現,和對集合運算的演算法。
Java集合框架簡圖
特徵:
*List,Set,Map將持有物件一律視為Object型別。
*Collection、List、Set、Map都是介面,不能例項化,例如:List li=null ,會報空指標異常。
繼承自它們的 ArrayList, Vector, HashTable, HashMap是具象class,這些才可被例項化。
List介面
List介面通常表示一個列表(陣列、佇列、連結串列、棧等),其中的元素有序、可以重複,常用實現類為ArrayList和LinkedList,另外還有不常用的Vector。另外,LinkedList還實現了Queue介面,因此也可以作為佇列使用。List和陣列類似,List可以動態增長,相當於動態陣列,查詢元素效率高,插入刪除元素效率低,因為會引起其他元素位置改變。
Set介面
Set介面通常表示一個集合,其中的元素是有序的集合,不允許重複。Set以雜湊表的形式存放元素,檢索元素效率低下,刪除和插入效率高,插入和刪除不會引起元素位置改變。
Map介面
Map是一個對映介面,其中的每個元素都是一個key-value鍵值對。Map主要用於儲存健值對,不要求有序,它是根據鍵得到值,因此不允許鍵重複,但允許值重複。
Iterator迭代器
Iterator是遍歷集合的迭代器(不能遍歷Map,只用來遍歷Collection),Collection的實現類都實現了iterator()函式,它返回一個Iterator物件,用來遍歷集合,ListIterator則專門用來遍歷List。
工具類
Arrays和Collections是用來運算元組、集合的兩個工具類,例如在ArrayList和Vector中大量呼叫了Arrays.Copyof()方法,而Collections中有很多靜態方法可以返回各集合類的synchronized版本,即執行緒安全的版本,當然了,如果要用執行緒安全的結合類,首選Concurrent併發包下的對應的集合類。
泛型集合
例: Map<String, String> dog=new HashMap<String, String>();
List<Dog> dogs=new ArrayList<Dog>();
泛型集合用<>標記元素型別,在建立集合物件時強制指定了集合中元素的型別,在從集合中取出元素時無需進行型別強制轉換,避免了ClassCastException異常,即型別轉換異常。
相關文章
- IOC和DI的概念,以及Spring框架的介紹Spring框架
- Java常用的5大框架介紹!Java框架
- java集合類介紹Java
- Java中幾種常用的RPC框架介紹JavaRPC框架
- golang實現常用集合原理介紹Golang
- Hive的基本介紹以及常用函式Hive函式
- Java之Spring Cloud概念介紹JavaSpringCloud
- 軟體開發常用結構以及SSM框架的簡單介紹SSM框架
- 關於keras框架的介紹以及操作使用Keras框架
- 簡單介紹一下Java常用的五大框架!Java框架
- Java常用工具介紹Java
- JAVA集合框架中的常用集合及其特點、適用場景、實現原理簡介Java框架
- 支付對接常用的加密方式介紹以及java程式碼實現加密Java
- JavaScript元素集合介紹JavaScript
- spring框架的介紹Spring框架
- 【JAVA集合】JAVA集合框架及其常用方法Java框架
- TypeScript Mixins 概念介紹TypeScript
- 集合的介紹(正在更新中)
- mysql中SQL的概念介紹MySql
- TPHP框架介紹PHP框架
- .NET框架介紹框架
- Aspose.Words for .NET基本介紹以及功能介紹
- 嵌入式概念介紹
- Vue 關鍵概念介紹Vue
- 全面介紹eBPF-概念eBPF
- Java介紹Java
- Python基礎知識之常用框架Flask介紹!Python框架Flask
- NFT元宇宙的概念與介紹元宇宙
- linux常用指令介紹Linux
- etcd 常用操作介紹
- Flutter 常用 Widget 介紹Flutter
- JavaScript常用物件介紹JavaScript物件
- java的基本函式(介紹)--過載概念、基本應用Java函式
- Jenkins 常用 REST API介紹(Java 客戶端)JenkinsRESTAPIJava客戶端
- 常用鎖原理的介紹(上)
- SpringMvc的常用註解介紹SpringMVC
- GPU的介紹 以及原理的分析GPU
- C#各類集合介紹C#