List与ArrayList
一、List
1、概念
- List代表一个元素有序、且可重复的集合,集合中的每个元素都有其对应的顺序索引
- List允许使用重复元素,可以通过索引来访问指定位置的集合元素
- List默认按元素的添加顺序设置元素的索引
- List集合里添加了一些根据索引来操作集合元素的方法

2、List常用方法实现
import java.util.ArrayList;
import java.util.List;
public class Test3 {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("b");
list.add("d");
list.add("c");
list.add("a");
list.add("d");
System.out.println(list);
System.out.println(list.get(2));
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);
System.out.println(sublist);
System.out.println(list.size());
}
}

3、ArrayList和Vector
1)ArrayList和Vector是List接口的两个典型实现
2)区别
- Vector是一个古老的集合,通常建议使用ArrayList
- ArrayList是线程不安全的,而Vector是线程安全的
- 即使为保证List集合线程安全,也不推荐使用Vector