Smalltalk 语言 字面集合 Array Set Dictionary 基础用法

阿木 发布于 12 小时前 4 次阅读


Smalltalk 语言中的 Array、Set 和 Dictionary 基础用法详解

Smalltalk 是一种面向对象的编程语言,以其简洁、直观和易学著称。在 Smalltalk 中,数据结构是构建程序的基础,其中 Array、Set 和 Dictionary 是三种常用的数据结构。本文将围绕这三种数据结构的基础用法进行详细介绍,帮助读者更好地理解和应用 Smalltalk 语言。

Array

Array(数组)是 Smalltalk 中最基本的数据结构之一,用于存储一系列有序的元素。在 Smalltalk 中,创建一个 Array 非常简单,可以使用 `Array new: size` 方法来创建一个指定大小的空数组。

创建和初始化 Array

smalltalk
| array |
array := Array new: 5. % 创建一个大小为 5 的空数组

向 Array 中添加元素

可以使用 `add: anObject` 方法向 Array 中添加元素。

smalltalk
array add: 'Hello'.
array add: 'World'.

访问 Array 中的元素

可以通过索引来访问 Array 中的元素,索引从 0 开始。

smalltalk
| element |
element := array at: 1. % 获取索引为 1 的元素

遍历 Array

可以使用 `do: aBlock` 方法遍历 Array 中的所有元素。

smalltalk
array do: [ :anElement |
anElement printNl.
].

删除 Array 中的元素

可以使用 `remove: anObject` 方法删除 Array 中的元素。

smalltalk
array remove: 'Hello'.

Set

Set(集合)是 Smalltalk 中的另一种基本数据结构,用于存储一组无序且唯一的元素。在 Smalltalk 中,创建一个 Set 可以使用 `Set new` 方法。

创建和初始化 Set

smalltalk
| set |
set := Set new.

向 Set 中添加元素

可以使用 `add: anObject` 方法向 Set 中添加元素。

smalltalk
set add: 'Hello'.
set add: 'World'.

检查元素是否存在于 Set 中

可以使用 `includes: anObject` 方法检查元素是否存在于 Set 中。

smalltalk
| isPresent |
isPresent := set includes: 'Hello'.

遍历 Set

Set 中的元素是无序的,因此遍历 Set 时需要使用 `do: aBlock` 方法。

smalltalk
set do: [ :anElement |
anElement printNl.
].

删除 Set 中的元素

可以使用 `remove: anObject` 方法删除 Set 中的元素。

smalltalk
set remove: 'Hello'.

Dictionary

Dictionary(字典)是 Smalltalk 中的另一种数据结构,用于存储键值对。在 Smalltalk 中,创建一个 Dictionary 可以使用 `Dictionary new` 方法。

创建和初始化 Dictionary

smalltalk
| dictionary |
dictionary := Dictionary new.

向 Dictionary 中添加键值对

可以使用 `at: key put: value` 方法向 Dictionary 中添加键值对。

smalltalk
dictionary at: 'name' put: 'Alice'.
dictionary at: 'age' put: 30.

获取 Dictionary 中的值

可以使用 `at: key` 方法获取 Dictionary 中指定键的值。

smalltalk
| value |
value := dictionary at: 'name'.

遍历 Dictionary

可以使用 `do: aBlock` 方法遍历 Dictionary 中的所有键值对。

smalltalk
dictionary do: [ :key :value |
key printNl.
value printNl.
].

删除 Dictionary 中的键值对

可以使用 `removeKey: key` 方法删除 Dictionary 中的键值对。

smalltalk
dictionary removeKey: 'name'.

总结

在 Smalltalk 语言中,Array、Set 和 Dictionary 是三种常用的数据结构,它们在程序设计中扮演着重要的角色。读者应该对这三种数据结构的基本用法有了清晰的认识。在实际编程中,合理地选择和使用这些数据结构,可以大大提高程序的效率和可读性。