集合,集合是Java中提供的一種容器,可以用來存儲多個數據,與數組的區別在於數組的長度是固定的,集合的長度是可變的,集合中存儲的元素必須是引用類型的。
集合主要有Collection和Map接口。
Collection接口:
List特點:元素有放入順序,元素可重複 ;
Set特點:元素無放入順序,元素不可重複;主要有兩個實現類,分別是HashSet和TreeSet
List接口有三個實現類:LinkedList,ArrayList,Vector;
LinkedList:底層基於鏈表實現,鏈表內存是散亂的,每一個元素存儲本身內存地址的同時還存儲下一個元素的地址。鏈表增刪快,查找慢 ;
ArrayList和Vector的區別:ArrayList是非線程安全的,效率高;Vector是基於線程安全的,效率低 ;
Set接口有兩個實現類:HashSet(底層由HashMap實現),LinkedHashSet ;
Map接口:
Map特點:元素按鍵值對存儲,無放入順序 ;
Map接口有三個實現類:HashMap,HashTable,LinkeHashMap
Map提供key到value的映射。一個Map中不能包含相同key,每個key只能映射一個value。Map接口提供3種集合的視圖,Map的內容可以被當做一組key集合,一組value集合,或者一組key-value映射。
Map與Collection接口的區別:
Map接口下的集合與Collection接口下的集合,它們存儲數據形式不同
Collection中的集合,元素是孤立存在的(理解爲單身),向集合中存儲元素採用一個個元素的方式存儲。
Map中的集合,元素是成對存在的(理解爲夫妻)。每個元素由鍵可以找對應的值。
Collection中集合爲單列集合,Map中的集合爲雙列集合。
需要注意的是,Map中的集合不能包含重複的鍵值可以重複;每個鍵只能對應一個值
HashMap的使用:
Public class Example{
Public static void main(String[] args){
HashMap Hmap = new HashMap();
//元素的添加
Hmap.add(1,“張三”);
Hmap.add(2,“李四”);
Hmap.add(3,“王五”);