集合
陣列的局限性:
1.創建陣列必須指定長度,長度一旦指定就不能改變;
2.一個陣列中只能存放一種資料型別的資料,
集合就是特殊的陣列:
1.集合創建無需指定長度,長度可以動態改變;
一個集合中可以存盤多種資料型別的資料,
所有集合類都實作了java.util.Collection介面,
Collection介面有兩個主要的子介面:List和Set,

List集合和Set集合的區別:
List和Set都是Collection的子介面,都表示集合;
List介面下的集合元素有序且可以重復;
Set介面下的集合元素無序且不可重復,
HashSet集合


ArrayList集合

ArrayList和LinkedList的區別
ArrayList和LinkedList都是List介面下的實作類,都是元素有序可重復的集合,
ArrayList和LinkedList不同點在于其元素的存盤方式:
ArrayList集合中元素是基于陣列結構的存盤,元素查詢和修改效率相對較高;
LinkedList集合中的元素是基于鏈接結構的存盤,元素移除和插入效率相對較高,
ArrayList和Vector的區別
ArrayList和Vector都List介面下基于陣列存盤的元素有序可重復的集合,
ArrayList沒實作執行緒同步,是執行緒非安全的,但效率比Vector高,
Vector實作了執行緒同步,是執行緒安全的,可直接用于多執行緒編程,效率較ArrayList低,
HashSet和TreeSet的區別
HashSet和TreeSet都是Set介面下元素無序且不可重復的集合,
HashSet 使用哈希表(散列)對元素進行排序;
TreeSet 使用元素的自然順序對元素進行排序,
使用Comparator介面可以自定義集合中元素的排序規則,
映射集合
映射集合:可以存盤多個鍵值對元素的集合,
映射集合中的key不能重復,
常見的映射集合類
所有實作了Map介面的類都是一個映射集合類,

HashMap類

Hashtable類
Hashtable的使用和HashMap保持一致,新增了keys()和elements()方法

HashMap和Hashtable的區別:
HashMap和Hashtable都是Map介面的實作類,都表示映射集合,
·HashMap允許使用null鍵和null值,Hashtable中不允許有null鍵和null值;
·HashMap沒有實作執行緒同步,是執行緒非安全的;Hashtable實作了執行緒同步,是執行緒安全的,可直接用于多執行緒編程;
·在Hashtable新增了keys()和elements()方法,可以通過列舉遍歷映射集合中的key和value,
Properties類
1.屬性映射集合,其key和value都是String型別
2.對于Properties集合,使用setProperty及getProperty方法添加鍵值對/根據key取value
3.Properties提供了load和store方法,用于讀取屬性檔案資料/將資料寫入資料檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/264788.html
標籤:其他
下一篇:Java-日期類(JDK8)
