List集合

#Java

List集合

特点

List特有的方法

public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        // void add(int index, E element) 在此集合中的指定位置插入指定的元素
        // 原来位置的元素会往后移
        list.add(0, "qqq");
        // E remove(int index)  删除指定索引处的元素,返回被删除的元素
        // list集合中有两个删除的方法
        // 第一个 删除指定的元素,返回值表示当前元素是否删除成功,该方法是父类Collection的方法
        // 第二个 删除指定索引的元素,返回值表示实际删除的元素
        String s = list.remove(0);
        // E set(int index, E element) 修改指定索引处的元素,返回被修改的元素
        // 被替换的元素就不存在了
        list.set(0,"qqq");
        // E get(int index) 返回指定索引处的元素
        String s1 = list.get(0);
    }

数据结构

:数据先进后出的模型。详情看

队列:数据先进先出的模型。详情看队列

数组:查询数据通过地址值和索引定位,查询任意数据耗时相同,查询速度快。删除、添加慢。相关连接:顺序表

链表:结点(地址,数据)。查询慢,增删快。

ArrayList

底层数据结构是数组,查询快,增删慢

LinkedList

底层是链表结构,查询慢,增删快

public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");

        // public void addFirst(E e) 在该列表开头插入指定的元素
        list.addFirst("qqq");
        // public void addLast(E e) 将指定的元素追加到此列表的末尾
        list.addLast("www");
        // public E getFirst()  返回此列表中的第一个元素
        String first = list.getFirst();
        // public E getLast()  返回此列表中的最后一个元素
        String last = list.getLast();
        // public E removeFirst()  从此列表中删除并返回第一个元素
        String s = list.removeFirst();
        // public E removeLast()   从此列表中删除并返回最后一个元素
        String s1 = list.removeLast();
    }