在Java中,我不了解集合与'数据结构'。在我看来,集合是指列表,集合,映射,队列,而“数据结构”是指用于实现集合的数据结构,例如数组,链表或树。例如,ArrayList和LinkedList都是集合,但它们的数据结构分别是一个数组和一个链表。我是正确的,还是我混淆了条款?
答案 0 :(得分:11)
数据结构是表示某种数据的对象的通用术语,因此链表,数组等都是数据结构。 Java意义上的集合指的是实现Collection
接口的任何类。一般意义上的集合只是一组对象。
答案 1 :(得分:10)
数据结构是数据在内存中的存储内部的表示方式。集合是如何访问它的。我强调“可以”这个词。
如果将数据存储在LinkedList中并对其进行排序,性能将会下降。如果使用ArrayList,相同的算法性能会提升。只是改变它在记忆中所代表的方式将有助于各种因素。
您可以“使用集合表示”访问它,您“也可以”使用“索引”来访问数据。你“可以”也去getFirst,getNext,getPrev。
您的困惑在于内部存储和访问存储之间。分开2。
答案 2 :(得分:1)
数据结构具有某种模式的概念,例如,房子的代表会列出像平方英尺,卧室等的东西。这就是通常意味着什么:域的结构如何表示为数据?
正如杰夫所说,集合只是一组对象。集合确实具有结构,但它们的结构完全是组织的,例如树,列表或链接列表。