15-dart-collection

15. 在dart中使用集合

简介

dart中的集合有三个,分别是list,set和map。dart在dart:core包中提供了对于这三种集合非常有用的方法,一起来看看吧。

List的使用

首先是list的创建,可以创建空的list或者带值的list:

var emptyList =[];

var nameList = ['jack','mac'];

使用List的构造函数来创建:

var nameList = List.filled(2, 'max');

向list中添加元素或者list:

nameList.add('tony');
nameList.addAll(['lili', 'bruce']);

删除元素:

dart提供了list的排序方法sort(),sort可以接一个比较的函数,用来表示谁在前谁在后:

list中还可以使用泛型,表示list中固定的类型:

Set的使用

Set表示的是不重复的元素的集合。但是set和list不同的是set是无序的,所以你不能用index来定位set中的元素。

来看下set的基本用法:

或者使用Set的构造函数来构造Set:

判断集合中元素是否存在:

set还有一个intersection的操作,用来求两个set的交集:

Map的使用

Map是一种key,value的数据类型,也是一种在程序中非常常见的数据类型。

先看下怎么创建Map:

添加和删除:

判断map中是否包含某个key可以使用containsKey():

常见的集合方法

集合中最常见的方法就是判断集合是否为空:

如果想对集合中的每个元素都进行某个函数操作,则可以使用forEach():

如果是可遍历对象,则有一个map方法,map方法会返回一个新的对象:

注意,map返回的是一个Iterable,它是延时计算的,只有被使用的时候才会进行计算。

如果你想立即计算的话,则可以使用map().toList() 或者 map().toSet():

可遍历对象还可以进行条件选择。比如使用where()来获得所有匹配的对象,使用any()来判断集合中是否有匹配的对象,使用every()来判断集合中是否全部匹配。

总结

集合是在程序编写过程中非常常用的一种类型,大家一定要熟练掌握。

最后更新于

这有帮助吗?