1: |
![]() |
集合框架:是為了表示和操作集合而統一規定的一種統一的標准體系結構。 包含三大塊的內容:對外的接口、接口的是實現和對集合運算的算法; Java集合框架提供了一套性能優良、使用方便的接口和類,它們位於java.util包中: ●接口:表示集合的抽象數據類型,在圖1中用虛線框表示,下圖綠色的: ●實現:集合框架中接口的具體實現,圖1中一實線表示,粗實線表示常用的:上圖藍色的: ●算法:在一個實現了某個集合框架中的接口的對象身上完成某種有用的計算的方法;如:查詢、排序; Java提供了進行集合操作的工具類Collections(類似於Arrays類):它提供了對集合進行排序、遍歷等多種算法實現; |
2、java集合中的的兩大類接口:Collection和Map;
●Collection:Collection 接口存儲一組不唯一,無序的對象(List:不唯一、有序;Set:唯一、無序;所以Collection接口是不唯一無序的);
●List:List 接口繼承Collection 接口,存儲一組不唯一(允許重復),有序(以插入的次序來放置元素,不會重寫排列)的對象;
●Set:Set 接口繼承Collection 接口,存儲一組唯一(不允許重復),無序的對象;
●Map:Map接口存儲一組鍵值對象,提供key到value的映射,Map中的Key不要求有序、不允許重復。value同樣不要求有序,但允許重復;
●Iterator(迭代器):接口是負責定義訪問和遍歷元素的接口;、
3、List接口:常用的類:ArrayList和LinkedList;(附加: Vector類:Vector集合類的使用(線程安全具有同步性),Stack類)
●ArrayList集合類對數組進行了封裝,實現了長度可變的數組,存儲數據的方式和數組相同,都是在內存中分配連續的空間;
優點:在內存中分配連續的空間。遍歷元素和隨機訪問元素的效率比較高;
缺點:ArrayList類的使用無同步性,線程不安全;
●使用ArrayList存儲元素: ●使用ArrayList移除、判斷元素: |
|||
Eg:ArrayList集合的增刪查: |
|||
Pet類(父類): |
Dog類(子類):
|
||
Test測試類: |
遍歷方式1:(for) 遍歷方式2:(foreach) |
||
添加元素: |
按指定位置添加元素: |
||
上面的代碼的輸出結果: |
|