版权声明:版权所有,翻印必究,哈哈哈 https://blog.csdn.net/GoSantiago/article/details/88576500
List集合包括ArrayList、LinkedList和Vector
ArrayList
(在底层由数组实现,是主要的实现类,使用较多)
LinkedList
(在底层由链表实现,频繁添加删除元素,代价比较小)
Vector
(古老的实现类,线程安全,使用较少)
List集合里除了具有Collection集合所具有的的方法外,还添加了一些根据索引来操作集合元素的方法
- void add(int index, Object lel)
- bollean addAll(int index, Collection else)
- Object get(int index)
- int indexOf(Object obj)//返回obj在集合中首次出现的位置,没有的话,返回-1
- int lastIndexOf(Object obj)//返回obj在集合中最后一次出现的位置,没有的话,返回-1
- Object remove(int index)
- Object set(int index, Object ele)
- List subList(int fromIndex, int toIndex)//返回一个子集合,左闭右开,即[fromIndex, toIndex)
接下来就在代码中测试一下这几个函数(以ArrayList为例)
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
public class TestList {
@Test
public void test1() {
List list = new ArrayList();
list.add(1);
list.add(2);
list.add("a");
list.add(1);
list.add("b");
System.out.println(list);
//add(index, obj)
list.add(0, 0);
System.out.println(list);
//get(obj)
Object obj = list.get(3);
System.out.println(obj);
//remove(index)
list.remove(0);
System.out.println(list);
//set(index, obj)
list.set(2, 3);
System.out.println(list);
//indexOf lastIndexOf
System.out.println("数字1首次出现的位置:" + list.indexOf(1));
System.out.println("数字1最后一次出现的位置:" + list.lastIndexOf(1));
//subList(fromIndex, toIndex)
List list2 = list.subList(0, 3);
System.out.println(list2);
}
}
输出结果如下: