Dart 集合

2024 年 8 月 29 日 | 阅读 2 分钟

与其它编程语言不同,Dart 不支持数组来存储数据。我们可以使用 Dart 集合来代替数组数据结构。我们可以通过使用 dart::core 库在 Dart 脚本中启用其他集合类。

Dart 集合可以分类如下。

Dart 集合描述
列表列表是已排序的集合组。dart::core 库提供 list 类,允许我们创建和修改列表。它提供了以下类型的列表。
  • 固定长度列表 - 我们不能在运行时更改列表的长度。
  • 可增长列表 - 我们可以在运行时更改列表的长度。
Set集合是对象的集合,其中每个对象可以声明一次。dart::core 库提供 Set 类来使用其功能。
Map映射是数据键值对的集合。每个值都与特定的键一起存储。键和值可以是 dart 中的任何类型。Map 是一个动态集合。我们可以说,map 可以在运行时修改。dart::core 库提供了 Map 类来使用它。
Queue队列是数据以先进先出格式存储的集合。它可以在两端进行操作。简单来说,我们可以从一端输入元素,然后从另一端删除它。

迭代集合

dart::core 库提供了 iterator 类,它使集合遍历变得容易。众所周知,每个集合都包含一个迭代器属性。此属性返回一个指向集合中对象的迭代器。让我们理解以下示例。

示例 -

输出

10
20
30

说明

在上面的代码中,moveNext() 函数返回了布尔值,表明是否存在后续条目。current 属性返回迭代器当前指向的对象的对象。

HashMap <K, V Class>

HashMap 类基于 Map 的实现。正如我们之前讨论的,键必须是唯一的,并且必须具有一致的 Object ==(等于运算符)和 Object.hashCode 实现。我们也可以使用 null 作为键。Map 中的元素可以按任何顺序排列。迭代顺序仅在修改 map 时才会更改。如果我们迭代 map,map 的值将按照与其关联的键相同的顺序进行迭代。


下一个主题Dart 泛型