List体系(ArrayList / LinkedList / Vector)
List : 元素是有序的, 元素可以重复, 因为该集合体系有索引(有角标)
List 集合判断元素是否相同 (contains) ,依据的是equals方法
List体系常见容器:(ArrayList / LinkedList / Vector)
ArrayList : 底层使用的是数组数据结构,特点 : 查询速度快, 增删慢 ,线程不同步LinkedList : 底层使用的是链表数据结构, 特点: 查询慢 ,增删快Vector : 数组数据结构 , 线程同步(老版本容器)
List体系特有方法(凡是可以操作角标的方法都是list体系特有方法)
-增:
add(int index, E element) —- 指定角标位插入指定元素 addAll(Collection extends E> c) —-在尾部插入集合
删:
remove(index) —–移除指定角标位的元素
改:
set(int index, E element) —–指定元素替换指定角标位元素
查:
get(int index) —–返回此位置元素 indexOf(Object o) ——返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。 subList(int fromIndex, int toIndex) —-返回指定的 fromIndex(包括 )和toIndex(不包括)之间的元素 listIterator(int index) —–返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始
代码演示—–
import java.util.*; //导入集合类包
public class DEMO {
public static void demo1() {
ArrayList al = new ArrayList();
//添加元素
al.add(“java1”);
al.add(“java2”);
al.add(“java3”);
al.add(“java4”);
sop(“原元素:” + al);
al.add(1, “java5”); //指定位置添加元素
sop(“添加后元素:” + al);
al.remove(2); //指定位置删除元素
sop(“删除后元素:” + al);
al.set(3, “java-set”); //指定位置修改元素
sop(“修改后元素:” + al);
sop(“获取指定位置元素:” + al.get(0));
sop(“第一次出现位置” + al.