標籤:list java 迭代器 迭代 遍曆
List中元素是有序的,元素可以重複,因為該集合有索引。
| 方法摘要 |
boolean |
add(E e) 向列表的尾部添加指定的元素(可選操作)。 |
void |
add(int index, E element) 在列表的指定位置插入指定元素(可選操作)。 |
boolean |
addAll(Collection<? extendsE> c) 添加指定 collection 中的所有元素到此列表的結尾,順序是指定 collection 的迭代器返回這些元素的順序(可選操作)。 |
boolean |
addAll(int index, Collection<? extends E> c) 將指定 collection 中的所有元素都插入到列表中的指定位置(可選操作)。 |
void |
clear() 從列表中移除所有元素(可選操作)。 |
boolean |
contains(Object o) 如果列表包含指定的元素,則返回 true。 |
boolean |
containsAll(Collection<?> c) 如果列表包含指定 collection 的所有元素,則返回 true。 |
boolean |
equals(Object o) 比較指定的對象與列表是否相等。 |
E |
get(int index) 返回列表中指定位置的元素。 |
int |
hashCode() 返回列表的雜湊碼值。 |
int |
indexOf(Object o) 返回此列表中第一次出現的指定元素的索引;如果此列表不包含該元素,則返回 -1。 |
boolean |
isEmpty() 如果列表不包含元素,則返回 true。 |
Iterator<E> |
iterator() 返回按適當順序在列表的元素上進行迭代的迭代器。 |
int |
lastIndexOf(Object o) 返回此列表中最後出現的指定元素的索引;如果列表不包含此元素,則返回 -1。 |
ListIterator<E> |
listIterator() 返回此列表元素的列表迭代器(按適當順序)。 |
ListIterator<E> |
listIterator(int index) 返回列表中元素的列表迭代器(按適當順序),從列表的指定位置開始。 |
E |
remove(int index) 移除列表中指定位置的元素(可選操作)。 |
boolean |
remove(Object o) 從此列表中移除第一次出現的指定元素(如果存在)(可選操作)。 |
boolean |
removeAll(Collection<?> c) 從列表中移除指定 collection 中包含的其所有元素(可選操作)。 |
boolean |
retainAll(Collection<?> c) 僅在列表中保留指定 collection 中所包含的元素(可選操作)。 |
E |
set(int index, E element) 用指定元素其他清單中指定位置的元素(可選操作)。 |
int |
size() 返回列表中的元素數。 |
List<E> |
subList(int fromIndex, int toIndex) 返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之間的部分視圖。 |
Object[] |
toArray() 返回按適當順序包含列表中的所有元素的數組(從第一個元素到最後一個元素)。 |
|
toArray(T[] a) 返回按適當順序(從第一個元素到最後一個元素)包含列表中所有元素的數組;返回數組的運行時類型是指定數組的運行時類型。 |
import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.ListIterator;/** * * List中特有的方法:凡是可以操作角標的方法都是 * * 增 add (index,element); addAll (index,Collection); 刪 remove (index); 改 set * (index,element); 查 get (index); subList (from,to); listIterator (); * * @author Caesar * * List集合特有的迭代器,ListIterator是iterator的子介面 在迭代時,不可以通過集合對象的方法操作集合中的元素 * 只能對元素進行判斷,取出,刪除的操作 如果想要其他的操作,如添加,修改等,就需要使用期子介面ListIterator * 該介面只能通過List集合的ListIterator方法擷取。 */public class ListDemo {public static void main(String[] args) {// TODO Auto-generated method stub// method_1();method_2();}public static void method_2() {// 示範列表迭代器ArrayList al = new ArrayList();al.add("01");al.add("02");al.add("03");/* * // 在迭代過程中準備添加或者刪除元素 Iterator it = al.iterator(); 迭代器操作 while * (it.hasNext()) { Object object = it.next(); if (object.equals("02")) * { //al.add("05");//並發訪問,可能會產生安全隱患,不能對同一組元素同時進行不同的操作 it.remove * ();//集合容器中的02也會被刪除,將02的引用從集合中刪除 //迭代器操作中沒有添加操作。 } sop(it.next()); } */ListIterator li = al.listIterator();while (li.hasNext()) {Object object = li.next();if (object.equals("02")) {li.add("08");}}sop(al);sop(li.hasNext());sop(li.hasPrevious());// 反向遍曆while (li.hasPrevious()) {sop(li.previous());}}public static void method_1() {ArrayList al = new ArrayList();al.add("01");al.add("02");al.add("03");sop("原集合是:" + al);// 在指定位置添加元素al.add(1, "09");sop(al);// 刪除元素al.remove(2);sop(al);// 修改元素al.set(0, "00000005");sop(al);// 通過角標擷取元素sop("get 2 = " + al.get(2));// 擷取所有元素for (int x = 0; x < al.size(); x++) {System.out.println(al.get(x));}Iterator it = al.iterator();while (it.hasNext()) {sop(it.next());}// 通過indexOf 擷取對象的位置sop("index = " + al.indexOf("03"));List sub = al.subList(1, 3);sop(sub);}public static void sop(Object obj) {System.out.println(obj);}}
Java---26---List集合共性方法