線程安全:
? 在堆內(nèi)存中的數(shù)據(jù)由于可以被任何線程訪問到吝梅,在沒有限制的情況下存在被意外修改的風(fēng)險(xiǎn)
? 如果一段代碼在多個(gè)線程同時(shí)執(zhí)行期間酒请,內(nèi)部能正確運(yùn)行,則它是線程安全的
? 滿足多個(gè)線程訪問相同共享數(shù)據(jù)的需要
1.Array:
Array類是支持?jǐn)?shù)組實(shí)現(xiàn)的基類,但是,只有系統(tǒng)和編譯器才能顯式從 Array 類派生咬最。 用戶應(yīng)使用該語言提供的數(shù)組構(gòu)造。
特點(diǎn):
- 類型固定,如:new int[5] { 1, 2, 3, 4, 5 };
- 容量固定偏灿,不支持?jǐn)U容
2.ArrayList:
特點(diǎn):
- 內(nèi)部實(shí)現(xiàn)基于數(shù)組
- 元素為object類型丹诀,所以可能會(huì)裝箱拆箱
- 支持?jǐn)U容
3.List<T>
特點(diǎn):
- 內(nèi)部實(shí)現(xiàn)基于數(shù)組
- 泛型
- 支持?jǐn)U容
4.LinkedList<T> (雙重鏈表)
特點(diǎn):
- 內(nèi)部實(shí)現(xiàn)基于鏈表
- 泛型
5.Dictionary<TKey,TValue>
特點(diǎn):
- 內(nèi)部實(shí)現(xiàn)基于hash表,數(shù)組buckets下標(biāo)為hash值翁垂,并保存了對應(yīng)到數(shù)組entries的下標(biāo),entries保存了Value等信息
- 鏈表法解決哈希沖突
- 泛型
6.Hashtable
特點(diǎn):
- 非泛型硝桩,可能會(huì)導(dǎo)致裝箱拆箱
- 支持?jǐn)U容
- 線程安全
7.HashSet<T>
提供高性能的設(shè)置操作
HashSet<T> 可以將類視為 Dictionary<TKey,TValue> 沒有值的集合沿猜。
特點(diǎn):
- 泛型
- 支持?jǐn)U容
- 不能包含重復(fù)元素(內(nèi)部hash值實(shí)現(xiàn))
- 考慮稻高性能操作,不支持排序
- 提供了許多數(shù)學(xué)集操作