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