ienumerator
ienumerator
實現遍歷的基本方法 :current,movenext(),reset()
ienumerable
ienumerable
最基礎的所有集合都實現的可遍歷介面,可以和ienumerator介面合作
icollection
icollection
無序的集合,包含集合的基本操作,add(t),remove(t),clear(),contains(),copyto
ilist
ilist
有序的集合,因此增加了indexof(),insert(int,t),和removeat(int)
iset
沒有順序,元素不可重複,有集合的交,並,去除等操作
idictionary
最基本的字典介面
array
就是t型別,只能儲存相同型別的資料。由於有逆變和協變(即可以陣列級別的型別轉換),速度很快。固定大小。
arraylist
動態陣列,可以在任意部位增加,刪除元素,內部其實是由array實現。在.net 2.0之後由於新增list,基本被deprecate了。包括arraylist在內的集合一般容量(capacity)都不固定,因此有trimtosize方法壓縮容量。
list
有序集合,最常見,用得最多,各種增刪查改都有
stack
stack
**先出(lifo),資料結構棧的c#實現,有peek():檢視頂層元素,push():入棧,pop():出棧。
queue
queue
先入先出(fifo),資料結構佇列的c#實現,有peek(),enqueue():入隊,dequeue():出隊。
dictionary
用的最多的字典泛型
hashtable
鍵值對形式,基於鍵的雜湊值而組織,沒有泛型,因此,現在一般用dictionary代替
hashset
無序集合,並且無法包含重複元素,速度快
namevaluecollection
沒有泛型,功能類似於dictionary,但可以乙個鍵對應多個值(request.querystring就是這個型別),乙個鍵可以對應多個值,且以逗號分隔。取出的值為"value1,value2,...valuen"形式。
keyvaluepair
乙個鍵值對
linkedlist
資料結構鍊錶的c#實現,有addbefore(linkedlistnode,t),addafter,find(t)等方法
sortedlist
sortedlist
有序鍵值對
hashset
實現了iset介面,無序
sortedset
實現了iset介面,有序
* 除了array外,arraylist和各種集合型別都是動態分布容量(capacity)的,可以根據trimtosize方法壓縮容量。
Java集合常用類特點
集合的結構如下圖所示 集合的兩個頂級介面分別為 collection和map collection下有兩個比較常用的介面分別是list 列表 和set 集 其中list可以儲存重複元素,元素是有序的 訪問順序一致 可以通過list腳標來獲取指定元素 而set不可以有重複元素,元素是無序的。list介...
集合 List介面及實現類
list部分思維導圖 list介面是乙個有序的 collection,list介面能夠精確的控制每個元素插入的位置,能夠通過索引 元素在list中位置,類似於陣列的下標 來訪問list中的元素,第乙個元素的索引為 0,而且允許有相同的元素。特點 list 介面儲存一組不唯一,有序 插入順序 的物件。...
List介面及特點
list介面分為 arraylist和linkedlist vector vector 執行緒安全 因為執行緒是同步的 底層實現是陣列 arraylist特點和底層實現 arraylist底層是用陣列實現的儲存。特點 查詢效率高,增刪效率低,執行緒不安全。arraylist底層使用物件objec陣列...