基础回顾之集合框架
1.基本數據類型數組默認值:整數型 ?byte short int long 默認值為0 ,浮點型 float ,double ?默認值 0.0 ?字符型 ?char ? 默認值為 空字符串 ? boolean 型 ?默認值為 false
2.引用數據類型數組默認值為null
3.數組與集合的區別
1> 數組即可以存儲基本數據類型,也可以存儲引用數據類型,存儲基本數據類型時,存的是值,存儲引用數據類型時,存的是地址值
? ?集合只能存儲引用數據類型,當集合存儲基本數據類型時,基本數據類型會自動裝箱變成隊像存儲到集合中
2>數組的長度是不可變得
集合的長度是可變的
3>如果存儲的數據的數量是固定的盡量使用數組,(使用集合存儲數據,效率個更高,更加節省內存)
如果存儲的數據的數量是變化的就使用集合這樣更加方便
4. collection(單列集合框架)
ArrayList ? ? ? ?(數組實現)
List(集合接口,存儲有序,有索引,可存儲重復元素) ? LinkedList ? ? ? ?(鏈表實現)
vector ? ? ? ? ? ? ?(數組實現)
?
?
?
collection(單列集合接口)
HashSet ? ? (哈希算法)
?? Set(集合接口,無序,不可存儲,重復元素)
TreeSet ? ? ? (二叉樹算法實現)
?
?
5.數據類型之,數組實現集合原理
<> 由數組實現的集合底層初始化大小為 10 ,到超過10個元素時,將創建一個新的集合,新集合的容量為老集合的1.5倍,并將老集合中的元素復制到新集合中,將老集合拋棄,以此類推.
6.數組實現集合,查詢快,增刪慢原理
<> 查詢快,直接可以通過索引確定元素位置
<> 增刪慢,向指定位置增加元素,該索引位置以后的元素包含該位置元素都要向后復制移動一位,并將增加的元素覆蓋掉該索引位置的元素,
刪除指定位置的元素,該索引位置以后的元素都要向前復制一位,并將原來最后索引位置的元素置為null
7.數據類型之,鏈表實現集合原理
<> 鏈表是通過記住前后元素形成一條鏈子,增加時只需打斷鏈子,新元素記錄前后元素即可
9.鏈表類型,增刪快,查詢慢原理
<> 查詢慢,連表結構的集合需要從前,或從后,依照 鏈表的連接順序查找,直到查到該元素為止
<> 增刪快,,增加時只需打斷鏈子,新元素記錄前后元素即可
刪除時,只需刪除元素,并重新記錄前后元素即可
?
10.線程安全問題
vector 線程安全的
ArrayList 線程不安全
LinkedList 線程不安全的
?
轉載于:https://www.cnblogs.com/itniwota/p/7413174.html
總結
- 上一篇: [Shder]物体溶解效果
- 下一篇: Java API 操作Zookeeper