List 代表一个元素有序,可以重复的集合,集合中每个元素都有对应的顺序索引
List可使用重复元素
List默认元素的添加顺序设置元素的索引,可以通过索引来访问指定位置的集合元素
List里面添加一些根据索引来操作集合元素的方法
import java.util.ArrayList;
import java.util.List;
public class Test1 {
public static void main(String[] args) {
List<String> list =new ArrayList<String>();
list.add("a");//第一个索引下标0
list.add("b");//索引下标1
list.add("c");//索引下标2
list.add("e");//索引下标3
list.add("d");//索引下标4
list.add("d");//索引下标5
System.out.println(list.get(2));//List默认元素的添加顺序设置元素的索引,可以通过索引来访问指定位置的集合元素
System.out.println(list);//[a, b, c, e, d, d]List可使用重复元素
list.add(1,"f");//在指定索引下标的位置插入数据
System.out.println(list);//[a, f, b, c, e, d, d]
List<String> l =new ArrayList<String>();
l.add("123");
l.add("456");
list.addAll(2,l);//在指定索引下标的位置插入集合
System.out.println(list);//[a, f, 123, 456, b, c, e, d, d]
System.out.println(list.indexOf("d"));//获取指定元素在集合中第一次出现的索引下标//7
System.out.println(list.lastIndexOf("d"));//获取指定元素在集合中最后一次出现的索引下标//8
list.remove(2);//根据指定的索引下移除元素
System.out.println(list);//[a, f, 456, b, c, e, d, d]
list.set(1, "ff");//根据指定索引下标修改元素
System.out.println(list);//[a, ff, 456, b, c, e, d, d]
//根据索引下标的起始位置截取一段元素形成一个新的集合,截取的时候包含开始的索引,不包含结束的索引即[2,4)
List<String> sublist=list.subList(2, 4);
System.out.println(sublist);//[456, b]
System.out.println(list.size());//集合 的长度//8
}
}
ArrayList和Vector比较
俩者都是List接口的两个典型实现
区别:
Vector比较古老,建议使用Arraylist;
Arraylist是线程不安全的,vector是线程安全;
即使为保证list集合安全,也不建议使用vector;