Java常用集合体系以及相互区别
Collection集合特點:
1.2.1一些 collection 允許有重復的元素,而另一些則不允許
1.2.2一些 collection 是有序的,而另一些則是無序的
【有序是指與添加的順序一致,并非是按照一定的要求來排列形成的有序,如從大到小,小到大等】
Collections
在類中還用一個和Collection功能能類似的工具類Collections:
此類完全由在 collection 上進行操作或返回 collection 的靜態方法組成
比如添加數據:
Collections.addAll(Collection
ArrayList集合特點:
1.有序,允許重復(有序指跟添加順序一致)
2.有下標,可以通過下標獲取元素,以及將元素插入指定位置
3.底層使用的數據結構是數組,線程不安全
4.數組在內存地址是連續的,因此查找時快,增刪速度慢查找速度快,增刪速度慢
LinkedList集合特點:
1,有序,允許重復(有序指與添加順序一致)
2,有下標,可以通過下標獲取元素,以及將元素插入指定位置
3,底層使用的數據結構是鏈表以及堆棧結構,線程不安全
4,鏈表內存地址不連續,因此查找速度慢,增刪速度快
HashSet特點
1.無序,不允許重復(無序指元素順序與添加順序不一致,每次遍歷出來的位置不是恒久不變的)
2.HashSet通過調用hashCode()和equals方法來剔除重復
3.HashSet底層使用的數據結構是哈希表
4.HashSet有初始容量16,加載因子0.75.這兩個參數都可以設置
TreeSet集合特點:
1.無序,不允許重復
2.底層使用的數據結構是二叉樹
3.TreeSet集合一定要實現一種排序 否則就會 ClassCastException
4.有兩種排序:自然排序和定制排序
HashMap集合特點:
1.無序,不允許重復(無序指元素順序與添加順序不一致);
2.底層數據結構是哈希表
3.HashMap內部對”鍵”用Set進行散列存放。所以根據”鍵”去取”值”的效率很高。
4.鍵是唯一的,值是可以重復的
5.能出現最多一個null鍵,任意多個null值
TreeMap特點:
1.無序,不允許重復(無序指元素順序與添加順序不一致)
2.TreeMap集合默認會對鍵進行排序,所以鍵必須實現自然排序和定制排序中的一種
3..底層使用的數據結構是二叉樹
總結
以上是生活随笔為你收集整理的Java常用集合体系以及相互区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TreeMap集合特点、排序原理
- 下一篇: Java中IO流的总结