單例集合知識點總結

2021-07-04 23:35:39 字數 2320 閱讀 3040

package cn.itcast.map;

/*單例集合 的體系:

---------| collection 單例集合的根介面

------------| list 如果是實現了list介面的集合類, 具備的特點:有序,重複。

---------------| arrarylist 底層 是使用了object陣列實現的,特點: 查詢速度快,增刪慢。

---------------| linkedlist 底層是使用了鍊錶資料結構實現 的, 特點: 查詢速度慢,增刪快。

---------------| vector

vector的實現與arraylist是一致,但是是執行緒安全 的,操作效率低。 jdk1.0的時候出現的

------------| set 如果是實現了set介面的集合類,具備的特點:無序,不可重複。

----------------| hashset 底層是使用了乙個雜湊表支援的, 特點:訪問速度快。

hashset新增元素的原理:

往hashset新增元素的時候,首先hashset會呼叫元素的hashcode方法得到元素的雜湊碼值,然後會經過一系列運算

就可以算出該元素在雜湊表中的儲存位置/

情況1:如果算出該元素的位置目前沒有任何元素儲存,那麼該元素可以直接儲存 

情況2: 如果算出該元素的位置目前已經存有其他的元素,那麼還會呼叫元素的equals方法與該位置的元素再比較一次。

如果equals方法返回的是false,那麼該元素允許儲存,如果euqlas方法返回的是true,那麼該元素被視為重複元素,不允許儲存。

------------------| treeset 底層是使用了紅黑樹(二叉樹)資料結構實現的, 特點:會對元素進行排序儲存。

treeset要注意的事項:

1. 往treeset新增元素的時候,如果元素本身具備自然順序的特性,那麼會根據元素自然順序的特性進行排序儲存。

2. 往treeset新增元素的時候,如果元素本身不具備自然順序的特性,那麼元素所屬的類必須要實現comparable介面,把元素的比較規則定義

在compareto方法上。

3. 往treeset新增元素的時候,如果元素本身不具備自然順序的特性,而且元素所屬的類沒有實現comparable介面,那麼必須要在建立

treeset物件的時候傳入比較器。

4. 如果比較的方法(compareto 或者compare )返回的是0的時候,那麼該元素就被視為重複元素,不允許新增。

比較器的定義格式: 自定義乙個類實現comparator介面即可。

class 類名 implements comparator

泛型:泛型是jdk1.5出現的新特性。

泛型的好處:

1. 將執行時出現 的問題提前至了編譯時。

2. 避免了無謂強制型別轉換。

自定義泛型: 自定義泛型就是乙個資料型別的佔位符或者理解為乙個資料型別的變數。

泛型方法:

修飾符 《宣告自定義的泛型》返回值型別 函式名(自定義的泛型 變數名..)

泛型方法要注意的事項:

1. 泛型方法中 的自定義泛型的具體資料型別是在呼叫該函式的時候傳入實參時確定的。

2. 自定義泛型所用 的識別符號只要符合識別符號 的命名規則即可。但是我們一般都習慣使用乙個大寫字母表示。

泛型類:

泛型類的定義格式

class 類名《宣告自定義的泛型》

泛型類要注意的事項:

1. 泛型類上的自定義泛型是在使用該類建立物件的時候指定具體的資料型別的。

2. 如果乙個類已經自定義了泛型,使用該類建立物件的時候如果沒有指定泛型的具體資料型別,那麼預設為object型別。

3. 靜態的函式不能使用類上自定義的泛型,如果靜態函式需要使用,必須要在函式上自定義泛型。

泛型介面:

泛型介面的定義格式:

inte***ce 介面名《宣告自定義的泛型》

泛型介面要注意事項:

1. 泛型介面上的自定義泛型是在實現該介面的時候指定具體資料型別的。

2. 如果實現介面的時候沒有指定介面上 的自定義泛型的具體資料型別,那麼預設為object資料型別。

3. 如果需要在建立介面實現類物件的時候才指定介面上自定義泛型,那麼需要以下格式: class類名 implements 介面泛型上下限:

? super integer 允許是integer資料型別或者是integer父類型別 泛型的下限

? extedns number 允許是number資料型別或者是number子類的資料型別 泛型的上限。

*/public class demo1

集合知識點總結

1.常用集合介面 a collection介面 最基本的集合介面,儲存不唯一,無序的物件,list介面和set介面的父介面 set set new treeset new comparator list weights new arraylist list是父類,作為乙個介面,也是乙個集合,是乙個集...

Java集合知識點總結

list有序且允許元素重複。map也屬於集合系統,但和collection介面沒關係。map是key對value的對映集合,其中key列就是乙個集合。key不能重複,但是value可以重複。sortedset和sortedmap介面對元素按指定規則排序,sortedmap是對key列進行排序。has...

集合相關知識點總結

集合 解決 陣列定長 頂層介面 iterator迭代器 collection 單列集合 map 雙列集合 collection 可以存放重複元素的list子介面 arraylist 動態陣列 linkedlist 雙向鍊錶集合 vector 向量 add a 末尾新增 add index,a 向指定...