List接口是继承Collection接口,所以Collection集合中有的方法,List集合也继承过来。
1、void add(int index, E element) 在指定位置插入元素(下标从0开始),后面的元素都往后移一个元素
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[]args){
List list = new ArrayList();
list.add("甲");
list.add("乙");
list.add(1,"丙");
Object[] obj=list.toArray();
for(Object a:obj)
System.out.println(a);
}
}
2.boolean addAll(int index, Collection<? extends E> c)
在指定的位置中插入c集合全部的元素,如果集合发生改变,则返回true,否则返回false。
当插入的集合c没有元素,那么就返回false,如果集合c有元素,插入成功,那么就返回true。
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[]args){
List list1 = new ArrayList();
List list2 = new ArrayList();
System.out.println("list1 "+list1);
System.out.println("list2 "+list2);
//集合list1没有元素,插入后list2不变,所以输出false
System.out.println("list2.addAll(0,list1) "+list2.addAll(0,list1));
list1.add("甲");
list1.add("乙");
list2.add("丙");
System.out.println("list1 "+list1);
System.out.println("list2 "+list2);
System.out.println("list2.addAll(0,list1) "+list2.addAll(0,list1));
}
}
3、E get(int index)
返回list集合中指定索引位置的元素
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[]args){
List list1 = new ArrayList();
list1.add("甲");
list1.add("乙");
System.out.println("list1.get(1) "+list1.get(1));
}
}
4、int indexOf(Object o)
返回list集合中第一次出现o对象的索引位置,如果list集合中没有o对象,那么就返回-1
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[]args){
List list1 = new ArrayList();
list1.add("甲");
list1.add("乙");
list1.add("甲");
System.out.println(list1);
System.out.println("list1.indexOf(丙) "+list1.indexOf("丙"));
System.out.println("list1.indexOf(甲) "+list1.indexOf("甲"));
}
}
5、ListIterator listIterator()
返回此列表元素的列表迭代器
当只需要遍历集合时,两个迭代器的功能都是一样。
但是listIterator迭代器只能用于List和他的实现子类,iterator迭代器可以用于所有的集合使用。
所不同的就是listIterator迭代器的功能会比iterator迭代器的功能要多。
listIterator迭代器可以在遍历集合时添加、修改和删除,而iterator迭代器在遍历集合时只有删除。
6、ListIterator listIterator(int index)
从指定位置开始,返回此列表元素的列表迭代器(按适当顺序)
和上面那个迭代器不同的就是多了一个参数,就是能控制迭代器开始的位置。
7、E remove(int index)
删除指定索引的对象,返回对应元素
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[]args){
List list1 = new ArrayList();
list1.add("甲");
list1.add("乙");
System.out.println(list1);
System.out.println("list1.remove(1)) "+list1.remove(1));
System.out.println(list1);
}
}
8、E set(int index, E element)
在索引为index位置的元素更改为element元素,返回index起始值
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[]args){
List list1 = new ArrayList();
list1.add("甲");
list1.add("乙");
System.out.println(list1);
System.out.println("list1.set(1,\"丙\")"+list1.set(1,"丙"));
//注意输出内容中含有引号,为避免和引住输出内容的引号搞混,在其前添加\
System.out.println(list1);
}
}
9、List subList(int fromIndex, int toIndex)
返回从索引fromIndex到toIndex的元素集合,包左不包右
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[]args){
List list1 = new ArrayList();
list1.add("甲");
list1.add("乙");
list1.add("丙");
System.out.println(list1);
System.out.println("list1.subList(1,2)\n"+list1.subList(1,2));//吐血整理
}
}