一、Collection接口定义的方法
List、Set是Collection的子接口,意味着所有List、Set的实现类都有下面的方法
二、List特点和常用方法
List接口常用的实现类有3个:ArrayList、linkedList和Vector
- 有序:List中每个元素都有索引标记。可以根据元素的索引标记(在List中的位置)访问元素,从而精确控制这些元素
- 可重复:List允许加入重复的元素。更确切地讲,List通常允许满足 e1.equals(e2) 的元素重复加入容器。
1、List接口中定义的方法
2、 List常用方法的使用
import java.util.ArrayList; import java.util.List;
ListLi = new ArrayList (); System.out.println(Li.isEmpty()); Li.add("hello"); //在list末添加元素hello Li.add("good"); System.out.println("list的大小为:"+Li.size()); System.out.println("list是否为空:"+Li.isEmpty()); System.out.println("list中为hello的下标索引为:"+Li.indexOf("hello")); System.out.println("list中为oo的下标索引为:"+Li.lastIndexOf("oo")); Li.set(1,"sad"); //将下标为1的元素设置为"sad" System.out.println("list中下标为1的值为:"+Li.get(1)); System.out.println(Li); System.out.println("list是否包含hello"+Li.contains("hello")); Li.remove("sad"); //将"sad"元素移除 System.out.println(Li); Li.clear(); //将list内容全部清空 System.out.println("list是否为空:"+Li.isEmpty());
三、 两个List的元素处理
1、判断li1是否包含li2所有元素
li1.containsAll(li2)
2、 将li2的所有元素添加到li1
li1.addAll(li2);
3、 移除li1中所有和li2都包含的元素
li1.removeAll(li2);
4、 移除li1中所有和li2非交集的元素
li1.retainAll(li2);
5、案例实现
Listli1 = new ArrayList (); List li2 = new ArrayList (); li1.add(1); li1.add(2); li2.add(2); li2.add(3); System.out.println(li1.containsAll(li2)); //false li1.addAll(li2); System.out.println(li1); //[1,2,2,3] li1.removeAll(li2); System.out.println(li1); //[1] li1.retainAll(li2); System.out.println(li1); //[]
四、List中操作索引的常用方法
Listlist = new ArrayList (); list.add("a"); list.add("b"); list.add("c"); list.add("d"); System.out.println(list); //[a,b,c,d] list.add(1,"33"); //在下标为1的位置插入33 System.out.println(list); //[a,33,b,c,d] list.remove(0); //移除下标为0的元素 System.out.println(list); //[33,b,c,d] list.set(2,"66"); //将下标为2的元素换为66 System.out.println(list); //[33,b,66,d] list.add("b"); //在末尾添加元素b System.out.println(list); // [33,b,66,d,b] System.out.println(list.indexOf("b")); // 1 从头到尾找到第一个"B" System.out.println(list.lastIndexOf("b")); //4 从尾到头找到第一个"B" System.out.println(list.get(1)); //b 找到下标1的元素



