集合的相關介面和六大集合

2021-05-23 17:33:24 字數 1607 閱讀 7549

1.system.colloctions中表示集合的行為的介面有:

1)icollection

定義所有集合的大小、列舉數和同步方法。派生於ienumerable

它定義了集合類最基本的行為,所有的集合類都實現了這個介面(基介面)

但是它的行為太過基本:主要就是乙個count屬性,單獨實現它沒有太大意義

2)ienumerable

公開列舉數,該列舉數支援在集合上進行簡單迭代

它只有乙個方法 getenumerator(),該方法可以返回乙個ienumerator介面,通過它可以遍歷集合

基本上所有的集合類都實現了這個介面

3)ilist

ilist實現是可排序且可按照索引訪問其成員的值的集合,它本身實現了icollection和ienumerable介面

是所有列表的抽象基類。ilist 實現有三種類別:唯讀、固定大小、可變大小。

4)idictionary

idictionary實現是鍵/值對的集合,它本身實現了icollection和ienumerable介面

是鍵/值對的集合的基介面。idictionary 實現有三種類別:唯讀、固定大小、可變大小。

idictionary可稱為字典、對映或雜湊表,它根據鍵(任意型別)來訪問值

2.system.collections中可以直接使用的集合類有:

1)arraylist

實現了介面:ilist、icollection、ienumerable

只要集合未被修改,arraylist 就可安全地同時支援多個讀取器

隨著向 arraylist 中新增元素,容量通過重新分配按需自動增加(2倍增加)

如果需要建立乙個物件陣列,但不能預先知道陣列的大小,就可以使用arraylist

arraylist把所有元素都當作object物件引用,因而在訪問arraylist的元素時要進行型別轉換

優點:動態改變大小、靈活方便的插入和刪除元素、可排序

缺點:插入時效能不如陣列、不是強型別的

2)bitarray

實現了介面:icollection、ienumerable

管理位值的壓縮陣列。

3)hashtable

實現了介面:idictionary、icollection、ienumerable

可以向hashtable中自由新增和刪除元素,有些像arraylist,但沒有那麼大的效能開銷

4)sortedlist

實現了介面:idictionary、icollection、ienumerable

sortedlist兼顧了arraylist和hashtable的優點,可按鍵值來排序

5)queue

實現了介面:icollection、ienumerable

queque是佇列,先進先出的訪問各個元素

可以呼叫queque物件的getenumerator()方法,得到ienumerator物件,來遍歷佇列中的各個元素

6)stack

實現了介面:icollection、ienumerable

stack是堆疊,後進先出的訪問各個元素

可以呼叫stack物件的getenumerator()方法,得到ienumerator物件,來遍歷堆疊中的各個元素

VC UI介面庫大集合

guitoolkit guitoolkit 開源,類似visual studio 2003風格 gardenui 免費,介面效果挺好的,xml,介面 分離 cjlib 開源,免費,unicode編碼,是xtreme toolkit的前生,但xtreme toolkit收費了 libuidk 部分免費...

三大集合Map List Set

1.list是有序集合 map和set是無序集合。2.list和set是collection介面的子介面 map是乙個介面。3.list允許有重複物件 set不允許有重複物件 map可以有重複值但是鍵不可重複。4.list可以有多個null set最多隻允許有乙個null map可以有多個null值...

Java三大集合 1

一.set集合 1.hashset集合,linkedhashset集合 test public void test01 2.treeset集合 test public void test02 treeset2.add new entity 1 treeset.add 1 treeset.add 2 ...