2021-04-27 23:28:23
Dart中List数组的操作
Dart中List的创建
和js中数组和其他语言中的List类似,分为可变长度和固定长度两种,与js不同的是List中的元素可为任意类型也可指定类型。
代码语言:javascript复制// 不限定长度,不限定类型,可添加任意类型的数据
var list1 = List();
dynamic list2 = List();
dynamic list3 =[];
List list4 = [];
//指定类型,不限长度
List<int> list5 = [];
//指定长度,不限类型
List list6 = List(2);//当像list6中增加超过两个元素时,会报错
常用属性
- length 长度
- reversed 翻转
- isEmpty 是否为空
- isNotEmpty 是否不为空
常用方法
- add add 方法是像一个List尾部添加数据,是否可以添加成功取决于创建List时的类型
- addAll
List a = [0];
List b = [1,2,3,4]
a.addAll(b);
需要注意的是添加进入的数据类型是否允许添加。 3. insert 向指定位置插入元素
代码语言:javascript复制List b = [1,2,3,4]
b.insert(1,9);
print(b);//[1,9,2,3,4]
- insertAll 从指定的索引开始插入给定的值列表
List a = [1,2,3];
a.insertAll(0,[120,130]);
print(a);//[120,130,1,2,3]
- indexOf 查找指定元素所在位置
List a = [1,2,3,4,5];
print(a.indexOf(2));//输出1
- remove List.remove()函数删除列表中第一次出现的指定项。如果从列表中删除指定的值,则此函数返回true。
List l = [1, 2, 3,4,5,6,7,8,9,1];
print(l);//[1, 2, 3, 4, 5, 6, 7, 8, 9,1]
bool res = l.remove(1);
print(l);//[2, 3, 4, 5, 6, 7, 8, 9,1]
- removeAt 删除指定索引处的值并将其返回
List l = [1, 2, 3,4,5,6,7,8,9,1];
print(l);//[1, 2, 3, 4, 5, 6, 7, 8, 9,1]
int res = l.removeAt(1);
print(res);//输出1
print(l);//[1, 3, 4, 5, 6, 7, 8, 9,1]
- removeLast 删除并在返回列表中的最后一个项目
List l = [1, 2, 3,4,5,6,7,8,9,1];
print(l);//[1, 2, 3, 4, 5, 6, 7, 8, 9,1]
int res = l.removeLast();
print(res);//输出1
print(l);//[1, 2,3, 4, 5, 6, 7, 8, 9]
- removeRange 删除指定范围内的元素,包括起始位置,但是不包括结束位置
List l = [1, 2, 3,4,5,6,7,8,9,1];
print(l);//[1, 2, 3, 4, 5, 6, 7, 8, 9,1]
l.removeRange(0,3);
print(l);//[4, 5, 6, 7, 8, 9,1]
reversed 以相反的顺序返回包含列表值的可迭代对象。