void add(int index, Object ele):在index位置插入ele元素
boolean addAll(int index, Collection eles):从index位置开始将eles中的所有元素添加进来
Object get(int index):获取指定index位置的元素
int indexOf(Object obj):返回obj在集合中首次出现的位置
int lastIndexOf(Object obj):返回obj在当前集合中末次出现的位置
Object remove(int index):移除指定index位置的元素,并返回此元素
Object set(int index, Object ele):设置指定index位置的元素为ele
List subList(int fromIndex, int toIndex):返回从fromIndex到toIndex位置的子集合
@Test
public void test1(){
ArrayList list = new ArrayList();
list.add(123);
list.add(456);
list.add("AA");
list.add(new Person("Tom", 12));
list.add(456);
System.out.println(list);//[123, 456, AA, Person{name='Tom', age=12}, 456]
//void add(int index, Object ele):在index位置插入ele元素
list.add(1,"BB");
System.out.println(list);//[123, BB, 456, AA, Person{name='Tom', age=12}, 456]
//boolean addAll(int index, Collection eles):从index位置开始将eles中的所有元素添加进来
List list1 = Arrays.asList(1, 2, 3);
list.addAll(list1);
System.out.println(list);//[123, BB, 456, AA, Person{name='Tom', age=12}, 456, 1, 2, 3]
//Object get(int index):获取指定index位置的元素
System.out.println(list.get(0));//123
//int indexOf(Object obj):返回obj在集合中首次出现的位置。如果不存在,返回-1
int index = list.indexOf(456);
System.out.println(index);//2
//int lastIndexOf(Object obj):返回obj在当前集合中末次出现的位置
int lastIndex = list.lastIndexOf(456);
System.out.println(lastIndex);//5
//Object remove(int index):移除指定index位置的元素,并返回此元素
Object obj = list.remove(0);
System.out.println(obj);//123
System.out.println(list);//[BB, 456, AA, Person{name='Tom', age=12}, 456, 1, 2, 3]
//Object set(int index, Object ele):设置指定index位置的元素为ele
list.set(1,"CC");
System.out.println(list);//[BB, CC, AA, Person{name='Tom', age=12}, 456, 1, 2, 3]
//List subList(int fromIndex, int toIndex):返回从fromIndex到toIndex位置的左闭右开的子集合
List subList = list.subList(2, 4);
System.out.println(subList);//[AA, Person{name='Tom', age=12}]
System.out.println(list);//[BB, CC, AA, Person{name='Tom', age=12}, 456, 1, 2, 3]
}
面试题:
区分List中remove(int index)和remove(Object obj)
@Test
public void testListRemove() {
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
updateList(list);
System.out.println(list);//[1, 2]
}
private static void updateList(List list) {
list.remove(2);
}
@Test
public void testListRemove1() {
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
updateList1(list);
System.out.println(list);//[1, 3]
}
private static void updateList1(List list) {
list.remove(new Integer(2));
}