Java ADT和collection的区别是什么?
我在课本上对这两个词都有如下定义: ADT:一组值及其操作的规范 从概念上独立于任何编程进行定义 语言 集合:对其他对象进行分组并向Java ADT和collection的区别是什么?,java,Java,我在课本上对这两个词都有如下定义: ADT:一组值及其操作的规范 从概念上独立于任何编程进行定义 语言 集合:对其他对象进行分组并向 它的客户 此外,本书还规定收藏是ADT,但ADT不一定是收藏 对这两个概念有点困惑。任何人都可以给出更详细的解释?只有行为在ADT(抽象数据类型)中定义,而集合是用于将多个值分组在一起的抽象数据类型 ADT的实现是具体数据类型(CDT) 例如: 堆栈、队列是ADT,其中只定义了行为,没有定义实现 集合、列表是将多个对象组合在一起的集合 因此,您可以使用集合来完成A
它的客户
此外,本书还规定收藏是ADT,但ADT不一定是收藏
对这两个概念有点困惑。任何人都可以给出更详细的解释?只有行为在ADT(抽象数据类型)中定义,而集合是用于将多个值分组在一起的抽象数据类型 ADT的实现是具体数据类型(CDT) 例如: 堆栈、队列是ADT,其中只定义了行为,没有定义实现 集合、列表是将多个对象组合在一起的集合
因此,您可以使用集合来完成ADT的任务。就像我们使用数组来实现堆栈的行为一样。我将尝试将其放在易于理解的位置,因为我记得当我学习它时,我花了几次时间 ADT或抽象数据类型指定(您猜到了)数据类型。它定义了数据类型所包含的内容(
int
、string
、自定义值等)、它可以做什么(可以对它们执行的操作和方法)以及它的行为方式(发生了什么以及它作为其他事情的结果做了什么,例如,在创建时,执行此操作)
集合是可以容纳许多其他对象的对象。例如,map
是一个包含对的集合。每对都有一个键
和一个值
。您甚至可以在此处嵌套一个集合,例如键
是(但不限于)一个int
或字符串
,然后值可以是一个列表
列表
本质上是一个数组
,尽管它更先进、更灵活。列表可以多次出现(或重复出现),例如字符串出现三次。元素遵循可以搜索的特定顺序。新元素也可以放置在指定的位置
map
和list
只是集合的两个示例,您可以在Javacollections
框架中看到更多
希望这个答案有帮助。集合是一种数据类型,它包含某种数据的多个值。例如数组、列表或集合。“本书规定集合是ADT,但ADT不一定是集合”狗是动物,但动物并不总是狗。集合只是ADT的一种类型。有哪种ADT不是集合的示例?