何时应使用链表的现实例子是什么? - c#

另一位程序员提到他们在职业生涯中没有找到在任何专业软件中使用链表数据结构的用例。我想不出什么好例子。他主要是C#和Java开发人员

谁能给出一些例子,说明这是解决特定现实问题的正确数据结构?

相关信息: What is a practical, real world example of the Linked List?

参考方案

真实示例是FIFO队列。一个简单的基于数组的列表对此非常不利,因为您需要在一端添加并在另一端删除,并且这些操作之一将是带有基于数组的列表的O(n)(除非您向使用起始和结束索引),而两者均为O(1),且无需额外的努力就可以使用链表。

与在Java中分配数组与分配链表相比,要使用多少内存? - java

我的猜测是,存储在数组中的每个值都有32位/ 64位字(取决于CPU)。因此它将是数组大小X 32位/ 64位。对于链表,存储指向下一个元素的引用将是链接列表的两倍。因此它将是2 *数组大小X 32位/ 64位。这是正确的,我有什么遗漏吗? java大神给出的解决方案 多得多。链表中的每个元素都有:指向下一个元素的指针,指向上一个元素的指针,指向项目值的指针…

Java-固定大小的列表与指定初始容量的列表之间的差异 - java

我在理解这一点上遇到了问题。当我们做 List<Integer> list = Arrays.asList(array); 我们不能在该列表上使用添加,删除之类的方法。我知道Arrays.asList()返回固定大小的列表。我不明白的是,如果我们创建一个具有指定初始容量的列表,例如List<Integer> list2 = new A…

Java-在巨型清单中添加和删除的最佳策略? - java

使用 Java 。我记录小对象进行一些计算等,而我只需要最后一千个。因此,我想将第一个释放给垃圾收集器。但是由于从ArrayLists中删除很昂贵...以下内容很重要(无法更改)没有DB 对象与类型相同每秒最多50,000个对象性能很重要快速遍历整个列表很重要随机访问也很重要可以更改:现在使用ArrayList<MyObject> 限制:100,…

如何初始化包含条目/值的链接列表? - java

所以我知道如何拥有一个链表,并使用add方法按条目输入条目。但是,我不想按条目添加条目。有没有办法用列表中的初始值声明链表?例如,如果我想在列表中包含1.0和2.0,我可以在一行中做些什么吗?就像是:List<Double> temp1 = new LinkedList<Double>(1,2); 参考方案 您可以这样进行:List&…

List.addAll()何时引发IllegalStateException? - java

我有代码private List<Field> subFields; private Collection<Field> subFieldsCollection; ... try { if (subFields == null && subFieldsCollection != null && !sub…