List接口

特点:

有序

有索引(特有)

操作索引肯定要避免索引越界异样

    void add(int index, E element);     E get(int index);        E remove(int index);    E set(int index, E element);    //用指定元素替换指定地位的元素                                    //并返回原元素

容许存储反复的元素

List遍历的三种形式:

1.一般for循环

        for (int i = 0; i < str.size(); i++) {            String s = str.get(i);            System.out.println(s);        }

2.迭代器遍历

        Iterator<String> it = str.iterator();        while(it.hasNext()) {            String next = it.next();            System.out.println(next);        }

3.加强for循环

        for (String s : str) {            System.out.println(s);        }

子类:ArrayList汇合

不是同步的,就是多线程,意味着速度快

子类:LinkedList汇合

LinkedList是一个双向链表,也是一个多线程,速度快
查问慢,增删快

应用LinkedList汇合特有的办法,不能应用多态(多态看不到子类特有的办法,除非向下转型)


有大量操作首尾元素的办法

    void addFirst(E e);    void addLast(E e);//等效于 add();办法        E getFirst();    E getLast();        E reomveFirst();    E removeLast();        E pop();  //从列表所示意的堆栈处弹出一个元素    //等于addFirst();办法

子类:Vector汇合

单列汇合的祖宗,呈现比拟早
底层是一个数组,同步单线程,速度慢,被ArrayList代替了