答案 0 :(得分:-1)
通常,当您需要快速查看任何单个数据元素(例如,“我想要第4个数字”)时,您需要一个数组。如果您要保持数据的顺序相同,则需要一个列表,并且不需要在元素集中的随机位置查找元素。
列表和数组的行为将根据编程语言而有所不同,但从概念上讲,它们源自这些低级别的想法:数组是一个连续的内存块(即,所有内存都聚集在一起)。您可以通过计算索引来读取数组中的所有元素 - 从某个地方开始(例如,位置0),然后添加一个以获取下一个元素。它对计算机而言既快速又简单,但计算机的操作系统必须做更多工作以确保您有一个连续的块。列表是通过存储数据元素以及列表中下一个元素的位置来组织相关数据的一种方式。您可以通过查看元素,然后将地址跟随下一个元素来检索数据,直到到达列表的末尾。这样可以更容易地构建数据(指向'next'的指针描述了元素的相关性),操作系统和编程语言在如何使程序获得所需的内存方面具有更大的灵活性,但权衡的是找到任何单个元素都要求你“走”列表(按照指针。)
然而,所有这些都是一般指导;在不同的编程语言和运行时环境中提出这个问题时要小心,因为当它真的是一个列表时,不同的环境可能会调用某个数组,或者反之亦然。
简短的回答是:“这取决于,但如果你想按顺序阅读内容并使用数组,如果你想随机阅读元素,通常会使用列表。”