package java_test; import java.util.List; import java.util.ArrayList; class listDemo{ public void listAction(){ List<String> list = new ArrayList<String>();//<>这里面只能接复合类型的数据,List<int>就会报编译错误 list.add("a");//增加一个元素 int len=list.size();//获取list的大小,即元素个数 System.out.println(len);//输出为1 String s=list.get(0);//获取list中的第一个值,是从0开始的,如果list的长度为而get(1)会报越界的异常 System.out.println(s);//输入为a list.set(0,"b");//替换index为0的元素值 System.out.println(list);//输出为[b] boolean c=list.contains("a");//判断list中是否包含有元素a System.out.println(c); String a="adsadsa"; System.out.println(a.contains("d"));//判断字符串a中是否包含子字符串“d” List<String> l1=new ArrayList<String>(); l1.add("c"); list.addAll(l1);//向list里面添加一个l1,可以理解为两个数组取并集,并将并集的结果复制给list System.out.println(list);//输出[b,c] list.retainAll(l1);//取两个数组的交集,并将交集的结果复制给list System.out.println(list);//输出[c] list.add("d"); list.add("e"); System.out.println(list); List<String> d=list.subList(0, 2);//从list中取一个子list,这里从0开始,到index位2的位置,但是不包含2 System.out.println(d);//输出[c,d] } public void loopList(){//列表循环 List<Integer> list=new ArrayList<Integer>(); list.add(3); list.add(2); list.add(1); for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } for(Integer i:list){ System.out.println(i); } } public void listRemove(){ List<Integer> list=new ArrayList<Integer>(); list.add(1); list.add(2); list.add(1); /** * remove有两种形式,一种是按index删除,一种是按list中的值删除 * 按index删除时,入参是int类型,按值删除时,入参是符合数据类型 */ Integer e=1;//事先定义好要删除的值和对象 /** * Removes the first occurrence of the specified element from this lisr * api说明中强调了,在remove(Object o)时,是删除第一次出现的这个值 */ list.remove(e); System.out.println(list);//输出位[2,1] int index=0;//定义要删除的index,也可以不事先定义,直接remove(1)。这个1会被默认为是int型的 list.remove(index); System.out.println(list);//输出[1] list.add(2); list.add(2); list.add(2); List<Integer> l1=new ArrayList<Integer>(); l1.add(2); /** * remove是单个remove,如果我想把list中的元素2全部一次性的remove掉,就要用removeAll了 * removeAll会把list中等于l1元素的元素全部删除 * 也可以理解为是去list与l1的差集,并将差集的结果复制给list */ list.removeAll(l1); System.out.println(list);//输出为1 } public void loopRemoveList(){ List<String> list=new ArrayList<String>(); list.add("a"); list.add("b"); list.add("a"); list.add("a"); list.add("a"); for(int i=0;i<list.size();i++){ if(list.get(i).equals("a")){ list.remove(list.get(i)); } } System.out.println(list); } } public class arrayDemo { public static void main(String[] args) { listDemo l=new listDemo(); l.listAction(); l.loopList(); l.listRemove(); l.loopRemoveList(); } }