常用集合類 介面及特點

2022-09-19 08:12:07 字數 1555 閱讀 2712

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陣列...