1.1集合只存放引用類型的元素並且集合存放的時元素的引用(地址)1.2新迴圈遍歷集合 Collection c = new ArrayList(); c.add("one"); c.add("two"); c.add("three"); c.add("four"); /* * 新迴圈不是新的語法,j ...
1.1集合只存放引用類型的元素並且集合存放的時元素的引用(地址)
1.2新迴圈遍歷集合
Collection c = new ArrayList();
c.add("one");
c.add("two");
c.add("three");
c.add("four");
/*
* 新迴圈不是新的語法,jvm並不認可新迴圈。
* 新迴圈是編譯器認可的,當編譯器發現在使用新迴圈遍歷集合時,會將代碼改變為使用迭代器遍歷,所以使用新迴圈遍歷集合的過程中是不能通過集合的方法增刪元素的。
*
*/
for (Object object : c) {
String str = (String)object;
System.out.println(str);
}
1.3集合的操作
boolean addAll(collection c) 將給定的集合中的元素存入到當前集合中 當前集合元素髮生了變化則返回true
boolean containsAll(Collection c) 判斷當前集合是否包含給定集合中的所有元素
boolean removeAll(Collection c) 刪除當前集合中與給定集合的相同元素
1.4遍歷集合--集合提供統一的遍歷元素的方式:迭代器模式
集合提供了用於獲取遍歷當前集合元素的方法:
java.util.Iterator
Iteartor iterator()迭代器的介面,規定了遍歷集合的方法,遵循的模式為:問,取,刪的步驟,其中刪除元素不是必須操作。不同的集合實現類都提供了一個可以遍歷自身的迭代器實現類。我們無需記住它們的名字,當他們的Iterator看待即可。
boolean hasNext()判斷集合是否還有元素可以遍歷
E next() 取出集合下一個可以遍歷的元素
在使用迭代器遍歷集合元素的過程中,不能通過集合的方法增刪元素否則會引發迭代器遍歷集合的異常,但是迭代器的remove能刪除通過next方法取出的元素
1.5新迴圈--新迴圈又稱為:增強for迴圈,for each,新迴圈的作用是用來遍歷集合或數組-----新迴圈是JDK1.5之後推出的一個新特性
使用新迴圈遍歷集合:新迴圈並非新的語法,JVM並不認可新迴圈。新迴圈是編譯器認可的,當編譯器發現在使用新迴圈遍歷集合時,會將代碼改變為使用迭代器遍歷。所以使用新迴圈遍歷集合的過程中是不能通過集合的方法增刪元素的。如果在新迴圈中刪除元素會拋出異常。
1.6泛型--1.5之後推出的一個特性,泛型是編譯器認可泛型的實際類型是Object,在使用的時候編譯器會進行檢查或自動造型。當對泛型變數賦值時,編譯器檢查是否符合類型要求獲取泛型值時,編譯器會補充自動造型的代碼。不指定泛型則預設認為object。泛型用來規定集合中的元素類型
1.7List_get_set--java.util.List
List是Collection的子類型介面。是可重覆集,並且有序,提供了一套可以根據下標操作元素的方法。
常用實現類:
java.util.ArrayList:數組實現,查詢效率高
java.util.LinkedList:鏈表實現,增刪元素效率高尤其是首尾增刪元素。
E get(int index) 將指定下標所對應的元素返回
E set(int index,E e) 將給定元素替換集合中指定位置的元素並將被替換元素返回。
1.8List_add_remove:List提供了一對重載的add,remove方法也可以通過下標操作元素刪除方法會返回一個刪除的元素。
1.9獲取List子集:List<E> subList(int startindex,int endindex) 截取集合中指定位置的元素,並返回截取的元素;操作獲取的子集的時候就等於操作原有集合
1.10集合轉換為數組 ---Collection中提供了將當前集合轉換為一個數組的方法
E[] array= c.toArray(new E[c.size()]);將集合轉換為數組,傳一個泛型數組並設置長度,如果設置長度不夠也會返回一個剛好和元素相等的數組,如果參數長度大於原有數組,則返回輸入長度的數組,沒有元素的位置為null。
1.11數組轉換為集合---List<String> list = Arrays.asList(array);將數組轉化為集合,操作返回後的集合等於操作原來的數組,並且不能增刪元素,如果想增加元素需要新建一個數組將返回數組的值傳入並操作。
List<String> list1 = new ArrayList<String>(list);這個方法可以在創建新數組的同時將原有數組的元素添加進來。
我是初學者,如有更新不好的,歡迎這位大神指出,謝謝大家!
更多精彩以後更新,轉載註明!