<--
注意:1.list集合(arraylist,linkedlist,vector)是根據 equals()方法進行元素的相等判斷的,
由於list集合是可以重複的,那麼在使用remove,contains等方法時,就是根據equals來的.
2.只有實現了iterable介面的類,才可以進行for-each迴圈遍歷;陣列是可以遍歷的.
3.集合迭代器遍歷時,不能使用集合的方法進行元素刪除動作,而應該使用迭代器的方法.
4.system.arraycopy(src,start,des,start,len): 也可以在自身上進行元素的複製動作!!
5.當出現多個形參時,可變引數必須只能放在最後;另外,還支援(),陣列的傳遞!!
6.list還有乙個特殊的方法: listiterator(),可以直接實現增,刪,改,查!!
-->
一.集合
1.什麼是集合
集合是一種容器, 和陣列類似,
優點:長度可變
2.什麼是list
list是集合中的一種, 元素可重複, 有儲存順序.
list介面下的所有子類都是可重複且有序的, 我們主要使用三種: arraylist, linkedlist, vector
* 3.list常用方法
增:
add(e e)
add(int index, e e)
addall(collection<? extends e> c)
刪:remove(int index)
remove(object obj)
改:set(int index, e e)
查:get(int index)
sublist(int from, int to)
新增物件到最後: boolean add(e e)
新增物件到指定位置: void add(int index, e e)
通過索引刪除: e remove(int index)
通過物件刪除: boolean remove(object obj)
設定指定位置上的元素: e set(int index, e e)
獲取指定位置上的元素: e get(int index)
將乙個集合中的所有元素新增到另乙個集合: boolean addall(collection<? extends e>)
獲取集合的大小: int size()
清空集合: void clear()
*** 4.list的迭代
a.通用的
注:for(int i=0;iit = list.iterator();
while(it.hasnext())
可以改進為for迴圈:
for(iteratorit = list.iterator(); it.hasnext(); )
it.next();
c.通用的
注:for(person p : list)
d.vector特有的
注:enumeration en = vector.elements();
while(en.hasmoreelements())
可以改進為for迴圈:
for(enumerationen = vector.elements(); vector.hasmoreelements(); )
vector.nextelement();
5.list介面的幾個實現類
a.arraylist: 陣列實現, 查詢快, 增刪慢
b.linkedlist: 鍊錶實現, 增刪快, 查詢慢
c.vector: 和arraylist原理相同, 但執行緒安全, 效率低.
二.和集合相關的jdk5新特性
* 1.增強for迴圈
for (型別 變數名 : 容器)
容器長度是幾就會迴圈幾次, 每次迴圈時, 會將容器中的乙個元素賦值給指定變數
只要實現了iterable介面的類都可以使用增強for迴圈
* 2.泛型
在使用集合類的時候可以在類名後面加上"《型別》", 這樣做表示該集合中只能儲存指定型別的資料
集合一旦定義泛型, 其中所有方法的型別都變成了指定型別, 不論新增還是獲取都會改為指定的型別
新增泛型之後可以將以前執行時才會出現的異常轉為了編譯期的錯誤, 方便查錯.
還可以省去型別強轉的麻煩, 優化了**的結構.
* 3.可變引數
在函式的引數列表中, 可以使用"型別... 引數名"形式定義乙個可變引數
可變引數可以接收同一型別的0個到多個資料, 或者也可以接收乙個陣列, 然後自動將接收到的資料裝入乙個陣列中, 在函式中對陣列進行訪問就可以得到實參物件
可變引數只能是引數列表的最後乙個引數.
java基礎 7 集合
基礎 物件導向 語法 異常 常用api 資料型別 io 集合 多執行緒 高併發 1 arraylist 底層資料結構是陣列,查詢快,增刪慢,執行緒不安全,效率高,可以儲存重複元素 2 linkedlist 底層資料結構是鍊錶,查詢慢,增刪快,執行緒不安全,效率高,可以儲存重複元素 3 vector ...
Java基礎16 集合Map
1.對於重複元素的處理 set 當出現重複元素,丟棄 map 當出現重複元素,存入,將原資料進行覆蓋 2.map.entry就是乙個鍵值對,是map集合的組成關係 3.properties 主要用於操作配置檔案.一.map集合 1.什麼是map集合 map集合可以儲存鍵值對,在儲存的時候存乙個鍵物件...
java基礎(五) 集合
1.集合與陣列的區別 1 陣列不可變長度,集合可變長度 2 陣列裡可放基本資料型別和物件,集合只能放物件 2.集合框架頂層介面collection的共性方法 增 add object obj addall collection c 刪 clear remove object obj removeal...