JAVA Collection笔记(2012/9/19)
2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
1.ArrayList,LinkedList是線性表的兩個典型實現(xiàn):前者是基于數(shù)組的線性表,后者是基于鏈的線性表。
2.各種集合性能比較
集合名稱??? ??? ??? |??? 實現(xiàn)機制??? ??? |??? 隨機訪問排名??? ??? |??? 迭代操作排名??? ??? |??? 插入操作排名??? ??? |??? 刪除操作排名
數(shù)組??? ??? ??? ??????? 連續(xù)內(nèi)存區(qū)保存元素??? ??? 1??? ??? ??? ??? ??? ??? 不支持??? ??? ??? ??? ??? ??? 不支持??? ??? ??? ??? ??? 不支持
ArrayList/ArrayDeque 以數(shù)組保存元素??? ??? ??2??? ??? ??? ??? ??? ??? ??? 2??? ??? ??? ??? ??? ??? ??? ??? 2??? ??? ??? ??? ??? ??? ??? 2
Vector??? ??? ??? ??? ??? 以數(shù)組保存元素 ??? ???? 3??? ??? ??? ??? ??? ??? ???? 3 ? ?? ? ??? ??? ??? ??? ??? ??? 3??? ??? ??? ??? ??? ??? ??? 3
LinkedList??? ??? ??? ? 以鏈表保存元素??? ???? ? 4??????????????????????????? 1??????????????????????????????? 1??????????????????????????? 1
?3.HashSet,TreeSet,ArrayList,ArrayDeque,LinkedList,HashMap,TreeMap都是線程不安全的,通過Collectioins.synchronizedXXX()方法可以獲得其線程安全版本
實例:
Collection c = Collections.synchronizedCollection(new ArrayList());
List list = Collections.synchronizedList(new ArrayList());
Set s = Collections.synchronizedSet(new HashSet());
Map m = Collections.synchronizedMap(new HashMap());
4.線程安全的集合Vector,Stack,Hashtable 都是在jdk1.1就出現(xiàn) 性能較低 一般不推薦使用
5.Hashtable和HashMap主要的兩點區(qū)別
(1)Hashtable是線程安全實現(xiàn),HashMap是線程不安全的實現(xiàn)
(2)Hashtable不允許null作為key和value,試圖放入的話會報NullPointerException
?
?
轉(zhuǎn)載于:https://my.oschina.net/u/203607/blog/79362
總結(jié)
以上是生活随笔為你收集整理的JAVA Collection笔记(2012/9/19)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css 相关学习
- 下一篇: HashMap,LinkHashMap和