回答
该集合的最佳描述是在Java Collection Tutorial的开头。
集合 - 有时称为容器 - 仅仅是将多个元素分组为单个单元的对象。集合用于存储,检索,操作和传输聚合数据。通常,它们表示形成自然组的数据项目,例如扑克牌手(卡片集合),邮件文件夹(字母集合)或电话目录(名称到电话号码的映射)。
此外,该教程列出了核心种质接口,它们都遵循范式上述:
下表描述了核心集合接口:
收藏 - 根的集合层次结构。一个集合表示一组被称为其元素的对象。 Collection接口是所有集合实现的最不常见的分母,用于在需要最大化普遍性时传递集合并对其进行操作。某些类型的集合允许重复元素,而另一些则不允许。有些是有序的,有些是无序的。 Java平台不提供此接口的任何直接实现,但提供了更多特定子接口的实现,例如Set和List。另请参阅“收集界面”部分。
Set - 一个不能包含重复元素的集合。该界面模拟数学集抽象,并用于表示集合,例如包含扑克牌的牌,构成学生时间表的课程或机器上运行的进程。另请参阅设置接口部分。
列表 - 有序集合(有时称为序列)。列表可以包含重复的元素。 List的用户通常可以精确地控制每个元素插入到列表中的哪个位置,并且可以通过其整数索引(位置)访问元素。如果你使用过Vector,你就会熟悉List的一般风格。另请参阅列表界面部分。
队列 - 用于在处理之前保存多个元素的集合。除基本收集操作外,队列还提供额外的插入,提取和检查操作。
队列通常但不一定以FIFO(先进先出)方式排列元素。例外的是优先级队列,它根据提供的比较器或元素的自然排序对元素进行排序。无论使用何种排序,队列的头部都是通过调用来移除或轮询的元素。在FIFO队列中,所有新元素都插入队列尾部。其他种类的队列可能会使用不同的放置规则。每个队列实现都必须指定其排序属性。另请参阅队列接口部分。
地图 - 将键映射到值的对象。地图不能包含重复的键;每个键可以映射到最多一个值。如果你已经使用了Hashtable,你已经熟悉Map的基础知识。另请参阅地图界面部分。
所以地图是集合虽然它并没有真正实现Collection
接口。
Map接口不是Collection接口的扩展。相反,接口启动它自己的接口层次结构来维护键值关联。
退房的official tutorial,尤其是Lesson: Interfaces:
[...]核心集合接口是Java集合框架的基础。如下图所示,核心收集界面形成一个层次结构。
,并进一步:
下表描述了核心集合接口:
Collection
[...]
Set
[...]
List
[...]
Queue
[...]
Map
[...]
非常感谢您的回答 – Neifen 2012-02-15 11:39:51
从概念上说地图绝对是集合,自从Smalltalk。 Java的类型层次结构是并不意味着管理概念关系而是一种务实的关系,特别是说哪些方法必须实施。
对于类地图集合,它们与非地图类型非常不同。例如,对于必须放置(键,值)和获取(键)(或类似的,如果您正在使用asscociation-objects)的地图,而非类地图必须具有iterator()和add() 。
原因是集合与值集合一起使用,其中键值以键值对的形式工作。
- 1. 框架集边框地狱框架集
- 2. 包括收集收集实体框架
- 3. 是否有框架可用于收集用户对SWT GUI的反馈?
- 4. 数据收集框架
- 5. 在收集地图
- 6. 流收集与地图收集
- 7. 收集框架基本查询
- 8. 地图收集从automapper
- 9. java集合vs集合框架中的地图
- 10. 是否有可能过滤OData内收集和收集的属性
- 11. 地图缩小框架
- 12. 框架7中的地图
- 13. 收集物品知道收集它是否包含 - 这是否有味道?
- 14. 检查点是否属于图
- 15. Nodejs是否使用框架
- 16. Hadoop框架模拟本地集群
- 17. 集合框架
- 18. 可用于Hadoop/MapReduce框架的集群
- 19. 值类型是否收集垃圾收集?
- 20. 集合框架:集合视图和实际集合用于迭代
- 21. java垃圾收集是否安全地清除垃圾数据?
- 22. 如何有效地检查收集是否为空?
- 23. 字符串是否是primitve?至于Spring框架
- 24. Selenium-Jenkins集成是否需要TestNG或JUnit框架
- 25. 是否有一个集群的Java监控/警报框架?
- 26. 是否可以将第三方框架与JHipster项目集成?
- 27. 定期垃圾收集是否有助于JVM的性能?
- 28. 垃圾收集器(GC)是否适用于客户端脚本?
- 29. 地图设置在谷歌收集
- 30. 骨干收集数据谷歌地图
非常感谢您的回答 – Neifen 2012-02-15 11:39:41
没问题。很高兴我能够提供帮助。 – 2012-02-15 15:03:27