Collection Map
1 接口 List Set
2 類 ArrayList LinkedList Vector HashSet TreeSet HashMap TreeMap Properties
二 Collection接口
1 Collection接口存儲一組無序、不唯一的對象
三 List集合(集合添加時是Object,獲取時也是Object)
1 List 接口存儲一組不唯一,有序的對象,List集合定義時不需要指定大小,也不用指定集合中指定的數據類型
2 實現的類:ArrayList、LinkedList、Vector
3 常用方法:添加元素:add();
獲取元素:get();
刪除元素:remove();
判斷是否含有某元素:contains();
獲取集合大小:size();
迭代:通過for循環和get()方法實現
4 各實現類的區別:
ArrayList:非線程安全
內部採用數組實現
數據插入、刪除時效率低;查找效率高
不適合頻繁插入,頻繁刪除的情況
Vector:線程安全的,其他同ArrayList
LinkedList:非線程安全
內部採用鏈表結構實現
數據插入、刪除時效率高;查找效率低
適合頻繁插入,頻繁刪除的情況
四 Set集合
1 Set接口存儲一組唯一,無序的對象
2 實現的類:HashSet、TreeSet
3 常用方法:添加元素:add();
獲取元素:不能獲取一個元素
刪除元素:remove();
判斷是否含有某元素:contains();
獲取集合大小:size();
迭代:通過迭代器(Iterator,專門用於迭代集合)的hasNext()和next()方法實現
五 Map集合
1 Map接口存儲一組鍵值對象,提供key到value的映射:
Map集合是通過key取value的,沒有下標,沒有順序
Map中的鍵必須是唯一的,鍵可以是null,值是可以重複的
2 實現的類:HashMap、TreeMap 、Properties
3 常用方法:添加元素:put();
刪除元素:remove()
判斷鍵是否存在:containsKey();
判斷值是否存在:containsValue();
返回鍵對應的值:get();
返回鍵集合:keySet();
迭代:迭代之前一個先得到鍵集合,通過鍵獲取值,用迭代器迭代
獲取集合大小:size();
六 裝箱拆箱
1 裝箱(box):基本類型轉換爲引用類型
2 拆箱(unbox):引用類型轉換爲基本類型
七 排序
1 Collections:Collections是集合的工具類,提供了集合中常用sort的方法
2 Arrays:Arrays是數組的工具類,提供了關於數組常用sort的方法
3 對CompareTo()方法的重寫:sort方法內部在排序時,會比較兩個集合元素的大小,如果元素是引用類型,那麼元素的值是地址編號,則需要對compareTo()進行重寫
八 比較
1 變量特點:存儲單個
數據類型限制
2 數組特點:存儲固定個數(個數必須寫,一旦確定,不能改變)
數據類型限制
3 集合特點:存儲任意個(個數可寫可不寫,寫了就是默認容量,如果需要更大容量會自動擴容)
數據類型不受限制
集合中保存的是對象的引用