[12]集合與JDK5新特性
一.集合
1.什麼是集合
集合是一種容器, 可以用來存儲對象, 和數組類似, 但最大的區別在於長度可變.
2.什麼是List
List是集合中的一種, 元素可重複, 有存儲順序.
List接口下的所有子類都是可重複且有序的, 我們主要使用三種: ArrayList, LinkedList, Vector
*** 3.List的迭代
a.通用的
b.通用的
c.通用的
d.Vector特有的
4.List接口的幾個實現類
a.ArrayList: 數組實現, 查找快, 增刪慢
b.LinkedList: 鏈表實現, 增刪快, 查找慢
c.Vector: 和ArrayList原理相同, 但線程安全, 效率低.
二.和集合相關的JDK5新特性
* 1.增強for循環
for (類型 變量名 : 容器) { 循環體 }
容器長度是幾就會循環幾次, 每次循環時, 會將容器中的一個元素賦值給指定變量
只要實現了Iterable接口的類都可以使用增強for循環
* 2.泛型
在使用集合類的時候可以在類名後面加上"<類型>", 這樣做表示該集合中只能存儲指定類型的數據
集合一旦定義泛型, 其中所有方法的類型都變成了指定類型, 不論添加還是獲取都會改爲指定的類型
添加泛型之後可以將以前運行時纔會出現的異常轉爲了編譯期的錯誤, 方便查錯.
還可以省去類型強轉的麻煩, 優化了代碼的結構.
* 3.可變參數
在函數的參數列表中, 可以使用"類型... 參數名"形式定義一個可變參數
可變參數可以接收同一類型的0個到多個數據, 或者也可以接收一個數組, 然後自動將接收到的數據裝入一個數組中, 在函數中對數組進行訪問就可以得到實參對象
可變參數只能是參數列表的最後一個參數