【大白话说Java面试题】【Java基础篇】第4题:LinkedList是单向链表还是双向链表

0 阅读1分钟

第4题:LinkedList是单向链表还是双向链表

📚 回答:

  • 答案LinkedList双向链表

  • 底层原理

    • 每个Node节点除了维护自身的值外,还维护了两个指针:
      • 一个指向前一个节点(prev)。
      • 一个指向后一个节点(next)。
    • 这种设计使得LinkedList可以从任意节点向前或向后遍历,灵活性更高。
  • 底层源码

    // 源码位置:java.util.LinkedList.Node
    private static class Node<E> {
        E item;
        Node<E> next;
        Node<E> prev;
    
        Node(Node<E> prev, E element, Node<E> next) {
            this.item = element;
            this.next = next;
            this.prev = prev;
        }
    }
    

💡 面试官视角

  • 面试官可能会问“为什么LinkedList选择双向链表而不是单向链表?”答:双向链表支持双向遍历,能够更高效地处理头部和尾部的操作,同时在某些场景下(如删除指定节点)可以避免额外的遍历开销。

📌 专栏:大白话说Java面试题 — 01-Java基础篇