Smalltalk 容器类详解
在 Smalltalk 编程中,容器类是非常重要的一部分,它们用于存储和管理对象集合。本文将详细介绍 Smalltalk 中的无序集合和有序集合,包括集合的操作、不同集合类的特点以及如何使用它们。
无序集合
无序集合主要包括集合(Set)、包(Bag)和字典(Dictionary)。
集合操作消息
Smalltalk 为集合处理提供了一系列额外的消息,这些消息在处理集合元素时非常有用。以下是一些常用消息及其含义:
| 消息模式 | 含义 |
| ---- | ---- |
| collect: aBlock
| 对集合中的每个元素执行 aBlock
,并返回一个包含每个元素执行结果的相同大小的集合。 |
| select: aBlock
| 对集合中的每个元素执行 aBlock
,返回一个只包含 aBlock
执行结果为 true
的元素的集合(集合可能为空)。 |
| reject: aBlock
| 对集合中的每个元素执行 aBlock
,返回一个只包含 aBlock
执行结果为 false
的元素的集合(集合可能为空)。 |
| detect: aBlock
| 对集合中的每个元素执行 aBlock
,返回