數組,List,Set,Map的區別

Java語言來自C語言,C語言裏是沒有集合List的。

由於Java需要集合,所以就在數組上擴充了一下,這就是List,List基於數組Array,是動態的可擴展的數組。

由於需要不能重複的集合,於是就有了Set。

由於List,set是基於數組的封裝,所以操作數組比List,Set都要快。List,set失去了速度,同時也擴展了功能。

1.List,Set繼承與collection接口,Map沒有

2.List元素可重複,有序。

3.set元素不可重複,無序。

4.Map鍵值對,無序。

由於List有下標,所以可以使用for循環來獲取元素,也可以使用迭代來獲取。set只能使用迭代來獲取。

LinkedList,ArrayList,HashSet是線程不安全的,vector是線程安全的。

map中hashmap線程不安全,hashtable線程安全。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章