首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ArrayList和单链表是一回事吗?

ArrayList和单链表是一回事吗?
EN

Stack Overflow用户
提问于 2012-12-13 09:40:47
回答 6查看 2K关注 0票数 6

在Java中,我被要求将整数值存储在一个单向链表中,然后打印存储在该列表中的元素。这是我想出来的:

代码语言:javascript
复制
int max = 10;
List<Integer> list = new ArrayList<Integer>();

for (int num = 0; i < max; i++){
     list.add(num);
}
System.out.print(list);

我想知道,ArrayList和单链表是一回事吗?我想确保我正确地回答了这个问题。这有意义吗?谢谢!

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-12-13 09:47:46

No - ArrayList根本不是一个链表-它是一个数组列表。ArrayList将其元素存储在数组中,而链表通过将对象链接在一起来将它们存储在任意内存中。

LinkedList是一个双向链表,我确信您可以抓住各种单链表实现,但是考虑到这是一个赋值,如果您试图使用其他人的实现提交代码,那么您要么被标记下来,要么直接失败。

取而代之的是,找到一个描述链表的article,并尝试自己实现一个。

通常,这些是通过拥有一个包含SomeClass类型的前向链接和一个值的SomeClass类在java中构建的。您可以通过前向链接将每个SomeClass实例链接到下一个实例来构建列表。

票数 5
EN

Stack Overflow用户

发布于 2012-12-13 09:43:57

没有ArrayList绝对不同于单链表。实际上,它根本不是一个链表:它是一个使用数组作为后备存储的列表。这允许您以任意顺序访问ArrayList,而不是必须按顺序访问的链表。

Java库有一个双向链表,但没有一个单链表;您需要自己编写它。

在internet上有几个很好的实现;看看this answer on the codereview site,获得一些关于如何实现您自己的单链表的想法。

票数 2
EN

Stack Overflow用户

发布于 2012-12-13 09:43:22

不,ArrayListList接口的一个实现,它使用一个后备array来存储数据。听起来像是任务想让你编写自己的singly-linked List实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13851629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档