collection集合的基本結構:
1、collection介面
collection是最基本集合介面,它定義了一組允許重複的物件。collection介面派生了兩個子介面set和list,分別定義了兩種不同的儲存方式,如下:
2、 set介面
set介面繼承於collection介面,它沒有提供額外的方法,但實現了set介面的集合類中的元素是無序且不可重複。
特徵:無序且不可重複。
3、 list介面
list介面同樣也繼承於collection介面,但是與set介面恰恰相反,list介面的集合類中的元素是物件有序且可重複。
特徵:有序且可重複。
兩個重要的實現類:arraylist和linkedlist
1.arraylist特點是有序可重複的
2.linkedlist是乙個雙向鍊錶結構的。
4、map介面
map也是介面,但沒有繼承collection介面。該介面描述了從不重複的鍵到值的對映。map介面用於維護鍵/值對(key/value pairs)。
特徵:它描述了從不重複的鍵到值的對映。
兩個重要的實現類:hashmap和treemap
1.hashmap,中文叫雜湊表,基於雜湊表實現,特點就是鍵值對的對映關係。乙個key對應乙個value。hashmap中元素的排列順序是不固定的。更加適合於對元素進行插入、刪除和定位。
2.treemap,基於紅黑書實現。treemap中的元素保持著某種固定的順序。更加適合於對元素的順序遍歷。
5、iterator介面
iterator介面,在c#裡有例外一種說法ienumerator,他們都是集合訪問器,用於迴圈訪問集合中的物件。
所有實現了collection介面的容器類都有iterator方法,用於返回乙個實現了iterator介面的物件。iterator物件稱作迭代器,iterator介面方法能以迭代方式逐個訪問集合中各個元素,並可以從collection中除去適當的元素。
[csharp]view plain
copy
?iterator it = collection.iterator();// 獲得乙個迭代子
while(it.hasnext())
object obj = it.next();// 得到下乙個元素
6、comparable介面
comparable可以用於比較的實現,實現了comparable介面的類可以通過實現comparato方法從而確定該類物件的排序方式。
總結collection集合分別派生自collection和map介面,collection有兩個常用子介面list和set,分別表示有序可重複,無序不可重複的集合。而map儲存的是key-value的對映。
繼承父類到底繼承了哪些東西
繼承父類應該是有這幾個地方繼承了 1.原型prototype上的方法和屬性 2.類上的那些操作,類上的屬性,類上的方法,不過我覺得這屬於私有屬性和方法了,我覺得原型prototype上的才是公共的方法和屬性 如圖可以看到,無論es5還是6,都是如此,es6中,通過extends繼承原型上的方法和屬性...
Linux fork哪些被繼承,哪些不被繼承
fork系統呼叫產生乙個新的程序,叫子程序,是呼叫程序的乙個復 製品.呼叫程序叫父程序,子程序繼承了父程序的幾乎所有的屬 性 實際uid,gid和有效uid,gid.環境變數.附加gid.呼叫exec 時的關閉標誌.uid設定模式位元位.gid設定模式位元位.程序組號.會話id.控制終端.當前工作目...
子類不能繼承父類的函式有哪些
但是乙個派生類的指標可以安全地轉化為乙個基類的指標。這樣刪除乙個基類的指標的時候,c 不管這個指標指向乙個基類物件還是乙個派生類的物件,呼叫的都是基類的析構函式而不是派生類的。如果你依賴於派生類的析構函式的 來釋放資源,而沒有過載析構函式,那麼會有資源洩漏。所以建議的方式是將析構函式宣告為虛函式。也...