跳至内容

聚合

100% developed
来自维基教科书,开放的世界,开放的书籍

导航 聚合 主题: v  d  e )
主题:

在前面的章节中,我们发现了 数组。数组存储了一组基本类型。要对对象进行分组,或引用一组对象,我们可以使用 Java 聚合类。有两个主要的接口,分别是 java.util.Collectionjava.util.Map。这些接口的实现是不可互换的。

java.util.Collection 接口的实现用于对简单的 Java 对象进行分组。

示例
我们可以将医院的所有患者分组到一个 "patient" 集合中。

java.util.Map 接口的实现用于表示 "键" 和 "值" 对象之间的映射。映射表示一组 "键" 对象,其中每个 "键" 对象都映射到一个 "值" 对象。

示例
对于每个患者,都只有一名主护士分配给他们。这种关联可以用 "患者-护士" 映射来表示。

当你需要一次访问所有项目时,集合更好。当你需要定期随机访问项目时,映射更好。

在选择特定的集合实现之前,请提出以下问题

我的集合可以包含相同的元素吗,即允许重复吗?

我的集合可以包含 null 元素吗?

集合是否应该保持元素的顺序?顺序是否在任何方面都很重要?

你想要如何访问元素?通过索引、键还是只用迭代器?

集合是否需要同步?

从性能的角度来看,哪个需要更快,更新还是读取?

从使用的角度来看,哪个操作会更频繁,更新还是读取?

一旦你了解了你的需求,你就可以选择一个现有的实现。但首先决定你是否需要一个 Collection,还是一个 Map

请注意,上述关联是显式的。对象本身对它们是否属于关联没有任何知识/信息。但创建简单 Java 对象之间的显式关联是使用聚合/集合类的主要思想。


华夏公益教科书