- Dart 编程教程
- Dart 编程 - 主页
- Dart 编程 - 概述
- Dart 编程 - 环境
- Dart 编程 - 语法
- Dart 编程 - 数据类型
- Dart 编程 - 变量
- Dart 编程 - 运算符
- Dart 编程 - 循环
- Dart 编程 - 决策
- Dart 编程 - 数字
- Dart 编程 - 字符串
- Dart 编程 - 布尔值
- Dart 编程 - 列表
- Dart 编程 - 列表
- Dart 编程 - 地图
- Dart 编程 - 符号
- Dart 编程 - 符文
- Dart 编程 - 枚举
- Dart 编程 - 函数
- Dart 编程 - 接口
- Dart 编程 - 类
- Dart 编程 - 对象
- Dart 编程 - 集合
- Dart 编程 - 泛型
- Dart 编程 - 包
- Dart 编程 - 异常
- Dart 编程 - 调试
- Dart 编程 - Typedef
- Dart 编程 - 库
- Dart 编程 - 异步
- Dart 编程 - 并发
- Dart 编程 - 单元测试
- Dart 编程 - HTML DOM
- Dart 编程有用的资源
- Dart 编程 - 快速指南
- Dart 编程 - 资源
- Dart 编程 - 讨论
Dart 编程 - 集合集
Set 表示对象的集合,其中每个对象只能出现一次。dart:core 库提供了 Set 类来实现相同的功能。
句法
Identifier = new Set()
或者
Identifier = new Set.from(Iterable)
其中,Iterable表示要添加到 Set 的值列表。
例子
void main() { Set numberSet = new Set(); numberSet.add(100); numberSet.add(20); numberSet.add(5); numberSet.add(60); numberSet.add(70); print("Default implementation :${numberSet.runtimeType}"); // all elements are retrieved in the order in which they are inserted for(var no in numberSet) { print(no); } }
它应该产生以下输出-
100 20 5 60 70
插图:Set.from()
无效主(){ 设置 numberSet = new Set.from([12,13,14]); print("默认实现:${numberSet.runtimeType}"); // 所有元素按照插入顺序检索 for(var no in numberSet) { 打印(否); } }
它应该产生以下输出-
12 13 14
高级 Dart Collection ─ dart:集合库
dart:collection 库提供了支持 Dart 集合的各种实现的类。我们将在本节中讨论以下主题。
- 哈希映射
- 哈希集
- 链表
- 队列
哈希映射
HashMap 是基于哈希表的 Map 实现。当您迭代 HashMap 的键或值时,您不能期望特定的顺序。其语法如下所示 -
句法
Identifier= new HashMap()
例子
以下示例展示了如何实现 HashMap -
导入“dart:集合”; 主要的() { var 账户 = new HashMap(); 账户['部门']='HR'; 账户['姓名']='汤姆'; 账户['电子邮件']='tom@xyz.com'; print('添加条目后的地图:${accounts}'); }
它应该产生以下输出-
添加条目后的地图:{email: tom@xyz.com, dept: HR, name: Tom}
向 HashMap 添加多个值
HashMap 类继承了Map 类的addAll()函数。此功能可以一次添加多个值。
句法
HashMap.addAll(可迭代)
其中,Iterable表示要插入的值的列表。
例子
导入“dart:集合”; 主要的() { var 账户 = new HashMap(); accounts.addAll({'部门':'HR','电子邮件':'tom@xyz.com'}); print('添加条目后的地图:${accounts}'); }
它应该产生以下输出-
添加条目后的地图:{email: tom@xyz.com, dept: HR}
从 HashMap 中删除值
remove ()和clear()函数用于从HashMap 中删除条目。向remove ()函数传递一个表示要删除的条目的键。clear ()函数用于从 Map 中删除所有条目。
例子
导入“dart:集合”; 主要的() { var 账户 = new HashMap(); 账户['部门'] = 'HR'; 账户['姓名'] = '汤姆'; 账户['电子邮件'] = 'tom@xyz.com'; print('添加条目后的地图:${accounts}'); 账户.删除('部门'); print('删除条目后的地图:${accounts}'); 账户.clear(); print('清除条目后的地图:${accounts}'); }
它应该产生以下输出-
添加条目后的地图:{email: tom@xyz.com, dept: HR, name: Tom} 删除条目后的地图:{电子邮件:tom@xyz.com,姓名:Tom} 清除条目后的地图:{}
哈希集
HashSet 是基于无序哈希表的 Set 实现。其语法是 -
句法
标识符 = new HashSet()
add ()函数可用于填充 HashSet 实例。
例子
导入“dart:集合”; 无效主(){ 设置 numberSet = new HashSet(); numberSet.add(100); numberSet.add(20); numberSet.add(5); numberSet.add(60); numberSet.add(70); print("默认实现:${numberSet.runtimeType}"); for(var no in numberSet){ 打印(否); } }
它应该产生以下输出-
60 20 100 5 70
将多个值添加到 HashSet
addAll ()函数允许向 HashSet 添加多个值。下面的例子说明了同样的情况 -
例子
导入“dart:集合”; 无效主(){ 设置 numberSet = new HashSet(); numberSet.addAll([100,200,300]); print("默认实现:${numberSet.runtimeType}"); for(var no in numberSet){ 打印(否); } }
它应该产生以下输出-
默认实现:_HashSet 200 300 100
从哈希集中删除值
remove ()函数删除传递给它的值。clear ()函数从 HashSet 中删除所有条目。
例子
导入“dart:集合”; 无效主(){ 设置 numberSet = new HashSet(); numberSet.addAll([100,200,300]); print("正在打印哈希值..${numberSet}"); numberSet.remove(100); print("正在打印哈希值..${numberSet}"); numberSet.clear(); print("正在打印哈希值..${numberSet}"); }
它应该产生以下输出-
打印哈希值.. {200, 300, 100} 打印哈希值.. {200, 300} 打印哈希值..{}
dart_programming_collection.htm