java - Java LinkedList 会分配多少空间?

标签 java linked-list

我正在阅读Java LinkedList的源代码,注意到LinkedList的构造函数是这样的:

public LinkedList() {
    header.next = header.previous = header;
}

将为此初始化分配多少空间, header 似乎通过指向自身来创建无限递归。

最佳答案

它在 header 实例变量的初始化中分配单个节点:

private transient Entry<E> header = new Entry<E>(null, null, null);

您引用的构造函数中的代码没有分配内存;它只是将指针设置为初始状态。不存在“无限递归”,因为内部遍历迎合了这种情况。

关于java - Java LinkedList 会分配多少空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13557884/

相关文章:

java - 返回整数的数组列表

java - ReentrantLock 与 CompletableFuture

Java 泛型 : Array containing generics

c - 链接列表不起作用

c - 堆栈 - 链表实现 - 字符串未被正确使用

java - Hibernate HQL JOIN - 获取的关联不存在

java - 我可以将 Google Play 服务添加到已发布的应用程序中吗?

java - "No suitable Driver were found"出现此错误

c - 使用 fscanf() 用文件信息填充 C 中的链表,它不是在读取文件的第一行吗?

c - C中链表的插入排序?