* 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));}}}