Java中LinkedList用法

LinkedList是Queue的实现类,是双向链表。决定了LinkedList的节点都包含了对前一个和后一个节点的引用。

构造函数

public LinkedList(); ——生成一个空的链表
public LinkedList(Collection<? extends E> c); ——复制构造函数

常用方法及举例

  1. 添加元素:
    boolean add(Object element) —— 将元素添加在链表的最后
    boolean add(int index, Object element) —— 将元素添加在指定位置后面
    boolean addFirst(Object element) —— 将元素添加在链表的第一个元素的位置
    boolean addLast(Object element) —— 将元素添加在链表最后
    举例:
package Main;

import java.util.Iterator;
import java.util.LinkedList;
public class Main {
    public static void main(String[] args){
        LinkedList list = new LinkedList();
        list.add(1);
        list.add(2);
        list.addFirst(0);
        list.addLast(4);
        list.add(3,3);
        Iterator iter = list.iterator();
        while(iter.hasNext()){
            System.out.println(iter.next());
        }
    }
}

结果:

0
1
2
3
4
  1. 获取链表的元素
    E get(int index)——获取索引处的元素
    E getFirst()——获取第一个元素
    E getLast()——获取第最后一个元素
        System.out.println(list.getFirst());
        System.out.println(list.getLast());
        System.out.println(list.get(3));
  1. 删除元素
    E remove()——移除链表中第一个元素
    boolean remove(Object o)——移除链表中指定的元素
    E remove(int index)——移除链表中该索引处的元素
    E removeFirst()——移除链表中第一个元素
    E removeLast()——移除链表中最后一个元素
    boolean removeFirstOccurrence(Object o)——移除链表中第一次出现所在位置的元素
    boolean removeLastOccurrence(Object o)——移除链表中最后一次出现所在位置的元素

  2. 其他操作
    void push(E e)——与add()效果一样
    E pop()——与remove()效果一样
    E poll()——查询并移除第一个元素
    void clear()——清空集合里的所有元素
    Object clone()——复制一个集合
    boolean contains(Object object)——判断集合是否包含指定元素
    indexOf(Object o)——返回此列表中首次出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
    lastIndexOf(Object o)——返回此列表中最后出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。

例子:

        LinkedList myList = new LinkedList();
        myList.push("a");
        myList.push("b");
        myList.push("d");
        myList.push("e");
        myList.push("f");
        System.out.println("myList example");
        System.out.println(myList.poll());
        myList.pop();
        System.out.println(myList.indexOf("e"));
        System.out.println(myList.contains("e"));

结果:

myList example
f
-1
false

遍历

  1. 普通的for循环
        int size = list.size();
        for (int i = 0; i < size; i++) {
            System.out.println(list.get(i));
        }
  1. for...each
        for (Object j : list) {
            System.out.println(j);
        }
  1. 迭代器
        for (Iterator<Integer> iter = list.iterator(); iter.hasNext(); ) {
            System.out.println(iter.next());
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容