* List也是一個接口,這說明List不能new,其中它有一個子類ArrayList,所以,就可以父類引用指向子類對象調用* List里面特有的方法:* * void add(int index,E element)在列表的指定位置插入指定元素(可選操作) 通過索引去在指定位置添加元素* 參數:index - 要在其中插入指定元素處的索引 ,element - 要插入的元素 * * E remove(int index)移除列表中指定位置的元素(可選操作) 通過索引去刪除元素* remove方法里面只要給一個整數,都會把那個整數當成索引去處理,并不是當成元素去處理* 參數:index - 要移除的元素的索引 * 返回:以前在指定位置的元素* * E get(int index)返回列表中指定位置的元素 通過索引去獲取元素* 參數:index - 要返回的元素的索引 * 返回:列表中指定位置的元素 * * E set(int index,E element) 用指定元素替換列表中指定位置的元素(可選操作) 把指定索引位置的元素給修改掉* 參數:index - 要替換的元素的索引 element - 要在指定位置存儲的元素 * 返回:以前在指定位置的元素
package com.wsq.list;import java.util.List;
import java.util.ArrayList;
public class Demo1_LIst {public static void main(String[] args) {demo1(); //通過索引去在指定位置添加元素, void add(int index,E element)demo2(); //通過索引去刪除元素, E remove(int index)demo3(); //通過索引去獲取元素,E get(int index)demo4(); //把指定索引位置的元素給修改掉, E set(int index,E element)demo5(); }private static void demo5() {List list = new ArrayList(); //父類引用指向子類對象,創建List集合list.add("a"); //向List集合里添加元素,索引為0list.add("b"); //向List集合里添加元素,索引為1list.add("c"); //index<=size并且index>=0都會報異常list.add("d");list.set(1, "z"); //將指定位置的元素修改,把1索引的位置給改成zSystem.out.println(list);
}public static void demo1(){List list = new ArrayList(); //父類引用指向子類對象,ArrayList是List接口的一個子類//多態的好處:可以將list當成參數去傳遞。但是,不能訪問子類特有的屬性list.add("a"); //索引為0list.add("b"); //索引為1。。。以此類推list.add("c"); //index<=size并且index>=0都會報異常list.add("d"); //索引為3//void add(int index,E element)在列表的指定位置插入指定元素,list.add(4,"f"); //即在4索引處添加 f 元素,index(索引)<=size并且>=0都不會報異常//list.add(1,"e"); //即在1索引處天劍 z 元素//list.add(10,"z"); //當儲存時,不存在的索引時,就會出現索引越界異常//有索引的時候要考慮索引越界異常System.out.println(list);}public static void demo2(){ List list = new ArrayList(); //父類引用指向子類對象,創建List集合list.add("a");list.add("b");list.add("c"); //index<=size并且index>=0都會報異常list.add("d");Object obj = list.remove(1); //通過索引刪除元素,將被刪除的元素返回System.out.println(obj); //輸出被刪除的元素,把誰刪掉,就會把誰返回System.out.println(list); //}public static void demo3(){ //remove方法里面只要給一個整數,都會把那個整數當成索引,這里的111,就被當成索引了List list = new ArrayList(); //父類引用指向子類對象,創建List集合list.add(111); //在List集合中添加Integer,分別為111,222,333list.add(222); list.add(333);list.remove(111); //刪除的時候不會自動裝箱,(如果自動裝箱,就會刪除一個對象,new一個Integer對象)這里把111當成索引 System.out.println(list); //輸出報錯}public static void demo4(){List list = new ArrayList(); //父類引用指向子類對象,創建List集合list.add("a"); //在List集合里面添加元素,索引為0list.add("b");list.add("c"); //index<=size并且index>=0都會報異常list.add("d"); //通過get方法,可以去做遍歷,因為通過索引的不斷改變,從而將List集合里面的所有元素給獲取出來//這個是List集合里面特有的一種方法,只有List集合才有索引,Set集合是沒有索引的/*Object obj1 = list.get(2); //將List集合給存儲到Object類數組里面System.out.println(obj1); //輸出Object數組里面索引為2的元素*///通過索引遍歷List集合,i就可以當成索引 for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}}}