重拾java基礎(十五):資料結構總結
一、常見資料結構
1、概述A、資料結構就是研究如何組織、儲存、管理一堆資料;例如陣列。 B、常見的資料結構有堆疊、佇列、鍊錶、線性表、樹。
C、散列表(哈希表)@ 目錄(順序存儲)+隊列(鍊錶)@ 查詢效率高,插入和刪除的效率也高@ 結構複雜,沒有下標D、樹形@ 二元樹 平衡二元樹(紅黑樹)@ 節點 子樹 左子樹(比節點小) 右子樹(比節點大)。 @ 查詢非常快速
二、Java集合概述(java.util套件)
在實際開發時,經常會遇到:需要存一堆個數不確定的資料 陣列長度固定,因 此無法使用
2. 集合是超級陣列:
a.長度可變
b.自動增長
b.自動增長
A、泛型的使用
一個問題:集合在存資料的時候很方便(任何類型都可以),但是取資料的時候,不知道該強轉成什麼類型,這叫類型安全問題
-
2. 解決想法:限制集合只能存一種類型 實際開發時,一個集合中都是存同一種類型的資料
3. 怎麼限制集合只能存一種類型? ArrayList
list=new ArrayList();4. 泛型是在JDK5才出現的,泛型只支援引用資料型別(基本資料型別需要使用相對應的包裝類別)5. JDK7簡化了泛型的語法:泛形寫法 ArrayList list=new ArrayList();6. 以後在使用集合的時候,一般都建議使用泛型,取資料時根本就不需要進行強轉了7. Java的集合類別全部都實現了泛型,如果在使用這些集合類別時沒有使用泛型,那麼預設ObjectB、泛型的實作原理
讓資料型別參數化(任意化)-
2. 泛型方法
3. 泛型類別4. 泛型介面5.實現步驟://1.聲明泛型//2.使用泛型//3.給泛型指定型別C、對比泛型和Object 泛型跟Object一樣靈活,但是還能解決型別安全問題D、JAVA實現的是偽泛型1. JVM支援泛型才是真真泛型,JVM是不支援泛型的,但是又可以執行包含有泛型的程式碼2. 讓編譯器在編譯程式碼時支援泛型,並對泛型進行語法檢查3. 編譯器一旦讓程式碼編譯通過了,就會把程式碼中泛型的資訊刪除(類型擦除),這樣JVM在執行時,程式碼中就沒有泛型以上就是重拾java基礎(十五):資料結構總結的內容,更多相關內容請關注PHP中文網(m.sbmmt.com)!