List接口
1.三大特点:
① 有序。② 有索引。 ③ 允许存在重复元素。
注意:
① 利用list接口的索引执行操作时,要防止索引越界引起的程序错误。
2.基本使用:
针对List接口有索引的特点,实现List接口的所有集合都拥有如下四个常用的特有方法。
(1)public void add(int position,E e)
(2)public E get(int position)
(3)public E remove(int position)
(4)public E set(int position,E e)
代码:
package com.lanyue.day15;
import java.util.ArrayList;
import java.util.List;
public class ListLearn {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add(0,"a");
list.add(1,"b");
list.add(1,"A");
System.out.println(list);
System.out.println(list.get(1));
list.remove(1);
System.out.println(list);
list.set(1,"A");
System.out.println(list);
}
}
程序运行图:
ArrayList集合
ArrayList集合是list接口的实现类,所以它具备了List集合的所有特点。除此之外,它还有特有的特点。
1.Arraylist特有特点。
① 此操作不是同步的(是多线程操作)。
② Arraylist底层是用数组实现的,所以查询快,增删慢。
LinkedList集合
LinkedList集合是list接口的实现类,所以它具备了List集合的所有特点。除此之外,它还有特有的特点。
1.LinkedList特有特点。
① 所有操作都是按照双重链接列表的需要执行的。在列表中编索引的操作将从开头或结尾遍历列表(从靠近指定索引的一端,是多线程操作)。
② 底层是用链表实现的,所以查询慢,增删快。
③ 里面大量使用了操作首尾元素的方法。
Vector集合
Vector集合是所有单列集合的超类。Vector集合是list接口的实现类,所以它具备了List集合的所有特点。除此之外,它还有特有的特点。
① 底层是用数组实现的,所以查询快,增删慢。
② Vector集合是单线程操作,所以速度相对与ArrayList集合更慢。
③ 版本较早,不建议使用。