声明
Set
是一个元素唯一的无序队列
松散
var a = new Set();
a.add('java');
a.add('php');
a.add('python');
a.add('java');
a.add('sql');
a.add('swift');
a.add('dart');
强类型
var b = new Set<String>();
b.addAll(['dart', 'c#', 'j#', 'e#']);
基本属性
名称 |
说明 |
isEmpty |
是否为空 |
isNotEmpty |
是否不为空 |
first |
第一个 |
last |
最后一个 |
length |
个数 |
常用方法
名称 |
说明 |
addAll |
添加 |
contains |
查询单个 |
containsAll |
查询多个 |
difference |
集合不同 |
intersection |
交集 |
union |
联合 |
lookup |
按对象查询到返回对象 |
remove |
删除单个 |
removeAll |
删除多个 |
clear |
清空 |
firstWhere |
按条件正向查询 |
lastWhere |
按条件反向查询 |
removeWhere |
按条件删除 |
retainAll |
只保留几个 |
retainWhere |
按条件只保留几个 |
b.addAll(['dart', 'c#', 'j#', 'e#']);
print(b.contains('dart'));
print(b.containsAll(['dart', 'swift']));
print('b => $b');
print(a.difference(b));//返回a有b没有的set,补集
print(a.intersection(b));//a和b都有的set,交集
print(b.lookup('dart'));
print(b.union(a));//并集
b.remove('dart');
b.removeAll(['dart','c#']);
b.clear();
print(b.firstWhere((it) => it == 'c#'));
print(b.lastWhere((it) => it == 'c#'));
b.removeWhere((it) => it == 'c#');
b.retainAll(['e#']);
b.retainWhere((it) => it == 'e#');
b.retainWhere((it) {
bool ret = it == 'e#';
return ret;
});