乐趣区

关于java:java学习笔记6List集合

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 代替了

退出移动版