Dart中List 集合类型概述
数组 (Array) 是几乎所有编程语言中最常见的集合类型,在 Dart 中数组由 List 对象表示。通常称之为 List。
List定义
第一种定义List的方式
var l1=['a','b','c'];
第二种定义List的方式
var l2= new List();
指定list的类型
var l2= new List();
List 添加元素
add 在末尾添加一个元素
addAll在末尾添加一个List
insert在指定的位置添加一个元素,同其他语言一样下标从0开始
insertAll在指定位置添加一个List
List删除元素
remove删除指定元素
removeAt 删除指定索引位置处的元素
removeLast 删除数组的最后一个元素
clear 清空数组
removeWhere 根据指定条件删除元素
List l1 = ["a", "b", "c"];
l1.removeWhere((e) => e == "b");
print(l1); // ["a", "c"]
removeRange 删除指定索引范围内的元素(含头不含尾)
List l1 = ["a", "b", "c","d", "e", "f", "g"];
l1.removeRange(1, 2);
print(l1); // ["a", "c","d", "e", "f", "g"]
List修改元素
List [index] = “值” 修改指定索引位置元素的值。最常用。
fillRange 用相同的值替换指定索引范围内的所有元素(含头不含尾)
fillRange(起始索引, 结束索引, "值");
replaceRange 用某一数组替换指定索引范围内的所有元素(含头不含尾)
setRange 范围替换数组中的值(含头不含尾)
setAll 从指定索引位置开始,使用第二个数组内的元素依次替换掉第一个数组中的元素,注意: index + l2.length
List查询是否存在某个元素
elementAt 获取指定索引位置处的元素,返回的索引位置的值
indexOf 获取指定元素在数组中的索引,返回的是索引
contains 判断数组中是否含有指定元素,返回的是bool类型
every 判断数组中是否每个元素都满足指定的条件
List 获取元素
getRange 截取指定索引范围内的元素 含头不含尾
sublist 从指定索引处截取数组 含头不含尾
List 其他常用方法
forEach 遍历数组中的元素
map 遍历数组中的所有元素,可以对元素进行处理,并返回新的 Iterable
toSet 将 List 转换为 Set,得到去重后的元素
asMap 将 List 转换为 Map,key 为原数组的索引,value 为原数组的元素
sort 数组排序(原数组发生改变)
join 用指定字符连接数组中每个元素,返回 String