一.集合和數組的區別
1.數組的長度是固定的,集合的長度是可變的;
2.數組中只能存相同類型的元素,而集合中存儲的元素可以不是;
3.數組中只能存放基本數據類型和對象,集合中存放的元素都是對象的引用,所以多個不同類型的對象使用集合存儲;
4.數組中採用的是順序儲存結構,集合分爲多種儲存結構,可以適用於多種場合;
二.Collection和Map的特點
Collection:
a:Collection存儲的是一堆對象;
Map:
a:Map存儲的是鍵值對;
b:Map集合中不能存相同的鍵,一個鍵只能對應一個值;
三.Collection的分支
Collection (單列集合)
│————List (元素有放入順序,元素可重複);
│ ├-LinkedList (底層基於鏈表實現,鏈表內存是散亂的,每一個元素存儲本身內存地址的同時還存儲下一個元素的地址。鏈表增刪快,查找慢);
│ ├-ArrayList (底層基於數組實現,每個元素都有一個索引值,數組結構查找快,增刪慢);
│ └-Vector (不常用)
│ └-Stack
│
└————Set (元素無放入順序,元素不可重複)
四.Map的分支
Map(雙列集合)
├Hashtable (和HashMap基本一樣,但是HashTable中不能設置值爲Null,保證了安全性);
├HashMap (存儲數據採用的哈希表結構,元素的存取順序不能保證一致。由於要保證鍵的唯一、不重複,需要重寫鍵的hashCode()方法、equals()方法)
└LinkedHashMap (存儲數據採用的哈希表結構+鏈表結構,可以保證元素的存取順序一致;)
└WeakHashMap (不常用)
第一次發博客,心情還是挺激動的,就和小時候寫日記一樣。怎麼說呢 踏上Java這條路也是一次意外,但是人生也是需要這些意外。如果有人看到我的博客的話 希望大家能鼓勵下我,如果有哪些地方總結不到位或者哪些是錯的也希望大家能提出來。謝謝大家了!最後希望自己能在編程這條路上越走越遠吧,加油!"^ v ^"