由于存储的是有序可重复的元素,List 接口增加了几个方法:
注意:所有执行过程中需要“比较”的方法(比如 int indexOf(Object o)需要比较元素 o 与当前位置的元素是否相同)都要调用 equals( ) 方法,所以一定要注意重写 equals( ) 方法
public class Testlist {
public static void main(String[] args) {
// 1.void add(int index , E element):
// 在指定的index位置插入E类型元素element,index及之后的元素依次往后挪一位
List list1 = new ArrayList();
list1.add(1);
list1.add(3);
list1.add(4);
System.out.println(list1);// [1, 3, 4]
list1.add(1, 2);
System.out.println(list1);// [1, 2, 3, 4]
// 2.E get(int index):获取指定位置的元素
System.out.println(list1.get(0));// 1
// 3.boolean addAll(int index,Collection c):
// 在指定的index位置插入集合c,若原集合改变,返回true
List list2 = new ArrayList();
list2.add(-1);
list2.add(0);
System.out.println(list1.addAll(0, list2));// true
System.out.println(list1);// [-1, 0, 1, 2, 3, 4]
// 4.E remove(int index):删除指定的index位置的元素,index及之后的元素依次往前顶一位,返回该位置被删除的元素
System.out.println(list1.remove(0));// -1
System.out.println(list1);// [0, 1, 2, 3, 4]
// 5.E set(int index,E element):把指定的index位置的元素设为element(替换),返回该位置被替换的元素
System.out.println(list1.set(0, "start"));// 0
System.out.println(list1);// [start, 1, 2, 3, 4]
// 6.int indexOf(Object o):返回指定对象o首次出现在该集合时的位置,若集合中没有该元素则返回-1
list1.add(1);
System.out.println(list1);// [start, 1, 2, 3, 4, 1]
System.out.println(list1.indexOf(1));// 1
System.out.println(list1.indexOf(5));// -1
// 7.int lastIndexOf(Object o):返回指定对象o最后一次出现在该集合时的位置,若集合中没有该元素则返回-1
System.out.println(list1.lastIndexOf(1));// 5
System.out.println(list1.lastIndexOf(5));// -1
System.out.println(list1.indexOf(3) == list1.lastIndexOf(3));// true
// 8.List subList(int fromIndex,int toIndex):
// 返回集合中从fromIndex位置开始,到toIndex位置结束的一个左闭右开的“子集”
List subList1 = list1.subList(0, 2);
System.out.println(subList1);// [start, 1]
}
}
时间: 2024-10-12 16:47:19