List集合

List

List集合

1. List接口

  1. java.util.List接口继承自Collection接口
  2. 允许出现重复的元素
  3. 元素存取有序的集合,元素是以一种线性方式进行存储的。
  4. 可以通过索引来访问集合中的指定元素

,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象称为List集合。在List集合中,,在程序中。另外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序一致。

2. List接口中常用方法

  • public void add(int index, E element): 将指定的元素,添加到该集合中的指定位置上。
  • public E get(int index):返回集合中指定位置的元素。
  • public E remove(int index): 移除列表中指定位置的元素, 返回的是被移除的元素。
  • public E set(int index, E element):用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
package com.itheima.demo01.List;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Demo01List {
    public static void main(String[] args) {
        List<String> stringList = new ArrayList<>();

        //不加下标就是追加
        stringList.add("王小明");
        stringList.add("李晓红");
        stringList.add("赵小刚");
        System.out.println(stringList);
        //加入下标就是在指定位置追加
        stringList.add(1, "孙小雷");
        System.out.println(stringList);

        System.out.println("开始打印每一个元素:");
        for (int i = 0; i < stringList.size(); i++) {
            System.out.println(stringList.get(i));
        }

        System.out.println("移除下标为2的元素:");
        System.out.println("被移除的元素为" + stringList.remove(2));
        System.out.println(stringList);

        System.out.println("替换下标为2的元素:");
        System.out.println("被替换的元素为:" + stringList.set(2, "班主任"));
        System.out.println(stringList);

        //循环遍历的三种方式
        demo01(stringList);//普通for循环
        demo02(stringList.iterator());//迭代器循环
        demo03(stringList);//增强for循环

    }

    public static void demo01(List<String> list) {
        for (int i = 0; i < list.size(); i++)
            System.out.println(list.get(i));
    }

    public static void demo02(Iterator<String> iterator) {
        while (iterator.hasNext())
            System.out.println(iterator.next());
    }

    public static void demo03(List<String> list) {
        for (String str : list) System.out.println(str);
    }
}

3. List接口子类

3.1 ArrayList集合

3.2 LinkedList集合

双向链表:列表中的每个节点都包含了对前一个和后一个元素的引用

  • public void addFirst(E e):将指定元素插入此列表的开头。
  • public void addLast(E e):将指定元素添加到此列表的结尾。
  • public E getFirst():返回此列表的第一个元素。
  • public E getLast():返回此列表的最后一个元素。
  • public E removeFirst():移除并返回此列表的第一个元素。
  • public E removeLast():移除并返回此列表的最后一个元素。
  • public E pop():从此列表所表示的堆栈处弹出一个元素。
  • public void push(E e):将元素推入此列表所表示的堆栈。
  • public boolean isEmpty():如果列表不包含元素,则返回true。

addfirst<=>push
addlast<=>add

3.3.Vector集合

上一篇:(C语言)用栈实现序列


下一篇:剑指offer - 栈和队列