一、List和ArrayList
1.List代表一个元素有序、且可重复的集合,集合中的每个元素都有其对应的顺序索引。
2.List允许使用重复元素,可以通过索引来访问指定位置的集合元素。
3.List默认按元素的添加顺序设置元素的索引。
4.List集合里添加了一些根据索引来操作集合元素的方法。
Collection接口<—(继承)—List接口<—(实现)—ArrayList类
package day16;
import java.util.ArrayList;
import java.util.List;
public class Test5 {
public static void main(String[] args){
List<String> list = new ArrayList<String>();
list.add("b");//第一个,索引下标就是0,List默认按元素的添加顺序设置元素的索引。
list.add("d");//索引下标1
list.add("c");//索引下标2
list.add("a");//索引下标3
list.add("d");//索引下标4,.List允许使用重复元素
System.out.println(list);
System.out.println(list.get(2));//List可以通过索引来访问指定位置的集合元素
list.add(1,"f");//在指的索引下标的位置插入数据
System.out.println(list);
List<String> l = new ArrayList<String>();
l.add("123");
l.add("456");
list.addAll(2, l);//在指的索引下标的位置插入集合
System.out.println(list);
System.out.println(list.indexOf("d"));//获取指定元素在集合中第一次出现的索引下标
System.out.println(list.lastIndexOf("d"));//获取指定元素在集合中最后一次出现的索引下标
list.remove(2);//根据指定的索引下标移除元素
System.out.println(list);
list.set(1, "ff");//根据指定索引下标修改值
System.out.println(list);
//根据下标的起始位置截取一段元素形成一个新的集合,截取的时候包含开始的索引,不包含结束时的索引
List<String> sublist = list.subList(2, 4);//取索引下标在2<=&&<4的元素
System.out.println(sublist);
System.out.println(list.size());//集合的长度
}
}
打印结果为:

二、ArrayList和Vector
ArraryList和Vector是List接口的两个典型实现,区别在于:
1.Vector是一个古老的集合,不常用,推荐使用ArrayList。
2.ArrayList是线程不安全的,而Vector是线程安全的,但即使为保证List集合线程安全,也不推荐使用Vector。
来源:https://www.cnblogs.com/su-peng/p/12568949.html