1、兩種容器
a.陣列(存放任意型別,長度固定)
b.集合(存放物件型別,長度可變)
2、體系結構單列集合 collection
list (arraylist、linkedlist、vector)
set (hashset、linkedhashset、treeset)
3、常用方法a.增
public
boolean
add(e)
b.刪 public
void
clear()
public
boolean
remove
(e)
c.改 public object[
]toarray()
public t[
]toarray
()
d.查 public
intsize()
public
boolean
isempty
()
1、獲取迭代器物件iterator
iter = c.
iterator()
;//獲取迭代器
2、使用迭代器方法iter.
hasnext()
;//是否存在下乙個元素
e e = iter.
next()
;//獲取下乙個元素
3、模板案例(快捷鍵 itit 回車)//建立物件
collection
c =newarraylist
();//新增資料
c.add
("hello");
c.add
("world");
c.add
("good");
//獲取迭代器
iterator
iter = c.
iterator()
;//迴圈遍歷迭代器 itit
while
(iter.
hasnext()
)
4、增強for迴圈的使用(快捷鍵 集合名稱.for)//建立物件
collection
c =newarraylist
();//新增資料
c.add
("hello");
c.add
("world");
c.add
("good");
//增強for
for(string s : c)
5、迭代器的注意事項不能在遍歷集合的過程當中進行修改的操作,否則會出現併發修改異常
併發修改異常: concurrentmodificationexception
1、泛型的好處a.提前檢查(執行時可能出現的型別轉換異常,提前到編譯時是否通過)
b.簡潔**(不需要手動向下轉型,快捷鍵直接提示出來型別)
2、泛型應用場景a.泛型類
a.定義格式:
修飾符 class 類名稱《泛型》
//定義未知不具體型別
b.使用格式:
(建立物件)
類名稱《具體型別》 物件名稱 =
new 類名稱《具體型別》()
;//使用已知具體型別
b.泛型方法
a.定義格式:
修飾符 《泛型》 返回值 方法名稱 (引數)
//定義未知不具體型別
b.使用格式:
(呼叫方法)
具體返回值型別 返回值 = 方法名稱(具體引數)
;//使用已知具體型別
c.泛型介面
a.定義格式:
修飾符 inte***ce 介面名稱《泛型》
b.使用格式:
(實現類或者建立實現類物件時候)
第一種:修飾符 class 類名稱 implements 介面名稱《具體型別》
//使用已知具體型別
第二種:類名稱《具體型別》 物件名稱 =
new 類名稱《具體型別》()
;//使用已知具體型別
d.泛型萬用字元
a.含義:
不知道使用什麼資料型別的時候,泛型可以使用 ?
b.格式:
collection<
?> 可以傳遞各種泛型型別的物件
例如: 這些都可以傳遞 collection
collection
collection
c.高階使用: (number是integer的父類)
collection<
?extends
number
> 只能接收 number型別以及子類型別. (專業術語"泛型的上限")
collection<
?super number> 只能接收 number型別以及父類型別. (專業術語"泛型的下限")
1、買牌(造牌、存牌)a.撲克 arraylist
pokerbox =
newarraylist
<
>()
;b.花色 arraylist
colors =
newarraylist
<
>()
;c.牌值 arraylist
numbers =
newarraylist
<
>()
;
2、洗牌(打亂牌順序)集合工具類,隨機置換 collections.
shuffle
(pokerbox)
;
3、發牌(索引取模3)a.三個玩家
arraylist
player01 =
newarraylist
<
>()
; arraylist
player02 =
newarraylist
<
>()
; arraylist
player03 =
newarraylist
<
>()
;b.底牌三張
arraylist
dipai =
newarraylist
<
>()
;
集合 Collection集合總結
list有序,可重複 abstractlist 父類abstractcollection抽象類,實現了list介面 arraylist 父類abstractlist 底層資料結構是陣列,查詢快,增刪慢。執行緒不安全,不同步,效率高 vector 父類abstractlist 底層資料結構是陣列,查詢...
Collection集合,List集合
一 collection集合 a collection 集合 單身漢集合 list 特點 有序,可重複,有索引 arraylist 重點掌握 linkedlist 儲存的元素不可重複,訪問順序一致 set 無序,元素不可重複,元素無索引 hashset 重點掌握 linkedhashset tree...
Collection集合 (set集合)
不包含重複元素的集合 即使新增重複元素之後,最終也只能顯示乙個 沒有帶索引的方法,所以不能使用普通的for迴圈遍歷 hashset 對集合的迭代順序不作任何保證 object類中有乙個方法可以獲取物件的雜湊值 public int hashcode 返回物件的雜湊碼值 物件的雜湊值特點 同乙個物件多...