聚合
外观
< Java 编程
(重定向自 Java 编程/集合)
导航 聚合 主题: ) |
主题: |
在前面的章节中,我们发现了 数组。数组存储一组基本类型。要对对象进行分组,或者引用一组对象,我们可以使用 Java 聚合类。有两个主要的接口,分别是 java.util.Collection
和 java.util.Map
。这些接口的实现不可互换。
java.util.Collection
接口的实现用于对简单的 Java 对象进行分组。
- 示例
- 我们可以将医院中所有患者分组到一个 “患者” 集合中。
java.util.Map
接口的实现用于表示 “键” 和 “值” 对象之间的映射。映射表示一组 “键” 对象,其中每个 “键” 对象都映射到一个 “值” 对象。
- 示例
- 对于每个患者,都只有一名主治护士分配。这种关联可以通过 “患者-护士” 映射来表示。
当您需要一次访问所有项目时,集合更好。当您需要定期随机访问项目时,映射更好。
在选择特定的集合实现之前,请提出以下问题
我的集合可以包含相同的元素吗,即允许重复吗?
我的集合可以包含 null
元素吗?
集合应该保持元素的顺序吗?顺序在任何方面都很重要吗?
您想如何访问元素?通过索引、键还是只用迭代器?
集合是否需要同步?
从性能的角度来看,哪个需要更快,更新还是读取?
从使用的角度来看,哪个操作会更频繁,更新还是读取?
一旦您了解了您的需求,就可以选择现有的实现。但首先确定您需要的是 Collection
还是 Map
。
请注意,以上关联是显式的。对象本身不知道/不包含有关它们是否参与关联的信息。但是,在简单的 Java 对象之间创建显式关联是使用聚合/集合类的主要思想。