1.6 聚合类型
一类数据总是批量呈现的,这样的数据为聚合类型或容器类型;
在Dart中,有三个最常用的聚合类型,分别是列表List、映射Map和集合Set
一、列表List
List列表类型中可以盛放若干个同类型的对象,并且允许重复。
在声明列表对象时,其中盛放的对象类型放在
<>中,我们称之为 泛型 。一般称元素在列表中的位置为 索引 , 索引从 0 开始计数。
通过索引可以对索引处的值进行获取和修改的操作。
void main() { List<int> numList = [1, 9, 9, 4, 3, 2, 8]; int second = numList[1]; print(second); numList[3] = 6; print(numList); }结果:
9 [1, 9, 9, 6, 3, 2, 8]通过
add方法,可以在列表的末尾添加一个元素;insert方法,可以在指定的索引处插入一个元素:void main() { List<int> numList = [1, 9, 9, 4, 3, 2, 8]; numList.add(10); numList.insert(0, 49); print(numList); }结果:
[49, 1, 9, 9, 4, 3, 2, 8, 10]列表方法中
remove相关方法用于移除元素,比如removeAt移除指定索引处的元素;remove移除某个元素值;removeLast移除最后元素void main() { List<int> numList = [1, 9, 9, 4, 3, 2, 8]; numList.removeAt(2); numList.remove(3); numList.removeLast(); print(numList); }结果:
[1, 9, 4, 2]通过
.length可以得到列表的长度void main() { List<int> numList = [1, 9, 9, 4, 3, 2, 8]; print(numList.length); }结果:
7
二、集合Set
Set集合类型也可以盛放若干个同类型的对象,它最大的区别是
不允许重复,它同样也支持一个泛型;指定的类型表示列表中只能盛放指定类型的数据可以通过
{}便捷的创建集合对象,其中盛放初始的数据集合本身没有索引的概念,无法通过索引访问与修改元素
如果有重复的内容,会被自动合并
案例:
输出:
{1, 9, 6}可以通过
add方法在集合中添加元素,以及remove方法移除某个元素的值:结果:
集合最重要的特征是集合之间的运算,两个集合间通过
difference、union、intersection方法可以分别计算差集、并集、交集,计算的结果也是一个集合:结果:
因为集合没有索引,所以遍历只能用
for-in模式遍历结果:
三、映射Map
Mapmap就是通过key和value进行关系映射的对象可以通过
{key: value, key: value ...}便捷的创建map对象,其中key与value表示初始数据可以通过
remove方法根据key进行删除结果:
通过
变量[key] = value语法向映射中添加元素,如果key存在,则是修改结果:
对于映射来说,可以通过
forEach方法进行遍历结果:
最后更新于