集合類

一:集合類
數組是很常用的一種的數據結構,我們用它可以滿足很多的功能,但是,有時我們會遇到如下這樣的問題:
1、我們需要該容器的長度是不確定的。
2、我們需要它能自動排序。
3、我們需要存儲以鍵值對方式存在的數據。
如果遇到上述的情況,數組是很難滿足需求的。集合類在Java中有很重要的意義,保存臨時數據,管理對象,泛型,Web框架等,很多都大量用到了集合類。
常見的集合類有這些種:
實現Collection接口的:Set、List以及他們的實現類。
實現Map接口的:HashMap及其實現類。Map接口常用的實現類有HashMap和TreeMap,HashTable
這些集合類都是java.lang.object的子類。

紫色:接口的常用實現類。


Map集合沒有繼承Collection接口,其提供的是key到value的映射。Map中不能包含相同的key,每個key只能映射一個value。
二.線程安全問題
Vector相當於一個線程安全的List
HashMap是非線程安全的,其對應的線程安全類是HashTable
Arraylist是非線程安全的,其對應的線程安全類是Vector
StringBuffer是線程安全的,相當於一個線程安全的StringBuilder
Properties實現了Map接口,是線程安全的

三.關於ArrayList和Vector區別
關於ArrayList和Vector區別如下:
  1. ArrayList在內存不夠時默認是擴展50% + 1個,Vector是默認擴展1倍。
  2. Vector提供indexOf(obj, start)接口,ArrayList沒有。
  3. Vector屬於線程安全級別的,但是大多數情況下不使用Vector,因爲線程安全需要更大的系統開銷。
發佈了18 篇原創文章 · 獲贊 16 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章