Java的数组集合概括
Java的數(shù)組集合概括
Collection
?? 1、List(存儲(chǔ)有序,有索引,可以重復(fù))
?????????? 1.1、ArrayList
?????????????????????? 底層是數(shù)組實(shí)現(xiàn)的,線程不安全,查找和修改快,增刪比較慢
?????????? 1.2、LinkedList
?????????????????????? 底層是鏈表實(shí)現(xiàn)的,線程不安全,增刪比較快,查找和修改計(jì)較慢
?????????? 1.3、Vector
?????????????????????? 底層是數(shù)組實(shí)現(xiàn)的,線程是安全的,無(wú)論增刪改查都比較慢
?????????????
結(jié)論:
????????????? 如果查找和修改多,用ArrayLIst
????????????? 如果增和刪多,用LinkedList
????????????? 如果都多,用ArrayList
?? 2、Set(存取無(wú)序,無(wú)索引,不可以重復(fù))
?????????? 2.1、HashSet
?????????????????????? 底層是哈希算法實(shí)現(xiàn)的
????????????????? LinkedHashSet
???????????????????????????????? 底層是鏈表實(shí)現(xiàn)的,但是也是可以保證元素唯一,和HashSet原理一樣
?????????? 2.2、TreeSet
?????????????????????? 底層是二叉樹算法實(shí)現(xiàn)
?
?
????????????? 結(jié)論:一般在開發(fā)的時(shí)候不需要對(duì)存儲(chǔ)的元素排序,所以在開發(fā)的時(shí)候大多用HashSet,HashSet的效率比較高
????????????? TreeSet在面試的時(shí)候比較多
?
3、Map
??????? 3.1、HashMap
?????????????????????? 底層是哈希算法,針對(duì)鍵
????????????????? 3.1.1、LinkedHashMap
???????????????????????????????? 底層是鏈表,針對(duì)鍵
?????????? 3.2、TreeMap
底層是二叉樹算法,針對(duì)鍵
?
?
結(jié)論:
????????????? 開發(fā)中用HashMap比較多,
總結(jié)
以上是生活随笔為你收集整理的Java的数组集合概括的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: DButils的更新与查询,利用C3P0
- 下一篇: Java拦截器的小例子