java - LinkedList 中的新元素添加到哪里?在头部之后还是在尾部?

标签 java data-structures linked-list

我在一些博客中读到新节点被添加到前面。但是当我检查linkedList的源代码时,它在最后添加了node并保持列表的head地址不变,这应该是理想的行为。

public boolean add(E e) {
        linkLast(e);
        return true;
}
 void linkLast(E e) {
        final Node<E> l = last;
        final Node<E> newNode = new Node<>(l, e, null);
        last = newNode;
        if (l == null)
            first = newNode;
        else
            l.next = newNode;
        size++;
        modCount++;
 }

单链表和双链表的节点添加行为有什么区别吗?

最佳答案

来自the documentation :

add(E e)

Appends the specified element to the end of this list.

(我的重点)

据我所知,java库中哪里没有单链表。您可以创建自己的。我认为唯一的区别在于:保存或不保存返回链接。

关于java - LinkedList 中的新元素添加到哪里?在头部之后还是在尾部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28062199/

相关文章:

java - 在 maven 中创建并安装 de-lomboked 源 jar

java - 在 MySql Workbench 中插入数据

java - JAXB:编码后替换 namespace

sql - 序数使用哪种数据类型?

c - 链表行为 - 帮助我理解

java - 将参数传递给 JavaScript 函数

java - 如何使用移位运算符取反一个数

c - 为 C 中的结构分配内存

java - 我需要删除链表中的一个节点,如何找到它之前的节点以便重新排列列表?

c - 如何创建具有 Sentinel 值的链表