Set
声明
Set
是一个元素唯一的有序队列
松散
var a = Set();
a.add('java');
a.add('php');
a.add('python');
a.add('java');
a.add('sql');
a.add('swift');
a.add('dart');
print(a);
{java, php, python, sql, swift, dart}
强类型
b.addAll(['dart', 'c#', 'j#', 'e#']);
print(b);
{dart, c#, j#, e#}
去重 & 转列表
var ls = ['dart', 'java', 'c#', 'j#', 'e#', 'java'];
var tags = Set();
tags.addAll(ls);
print(tags);
print(tags.toList());
{dart, java, c#, j#, e#}
[dart, java, c#, j#, e#]
基本属性
名称 | 说明 |
---|
isEmpty | 是否为空 |
isNotEmpty | 是否不为空 |
first | 第一个 |
last | 最后一个 |
length | 个数 |
常用方法
名称 | 说明 |
---|
addAll | 添加 |
contains | 查询单个 |
containsAll | 查询多个 |
difference | 集合不同 |
intersection | 交集 |
union | 联合 |
lookup | 按对象查询到返回对象 |
remove | 删除单个 |
removeAll | 删除多个 |
clear | 清空 |
firstWhere | 按条件正向查询 |
lastWhere | 按条件反向查询 |
removeWhere | 按条件删除 |
retainAll | 只保留几个 |
retainWhere | 按条件只保留几个 |
交集
var fd = <String>{"js", "node", "dart", "css", "html", "macos", "docker", "git"};
var ed = <String>{"linux", "docker", "git", "go", "python", "sql", "node", "js", "aws"};
print(fd.intersection(ed));
{js, node, docker, git}
联合
var fd = <String>{"js", "node", "dart", "css", "html", "macos", "docker", "git"};
var ed = <String>{"linux", "docker", "git", "go", "python", "sql", "node", "js", "aws"};
print(fd.union(ed));
{js, node, dart, css, html, macos, docker, git, linux, go, python, sql, aws}