跳转至内容

聚合

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

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

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

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

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

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

示例
对于每个患者,都只有一名主治护士分配。这种关联可以通过 “患者-护士” 映射来表示。

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

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

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

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

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

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

集合是否需要同步?

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

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

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

请注意,以上关联是显式的。对象本身不知道/不包含有关它们是否参与关联的信息。但是,在简单的 Java 对象之间创建显式关联是使用聚合/集合类的主要思想。


华夏公益教科书