数组List
声明变量
List list1 = ['a', 'b', 'c'];
List list2 = [1, 2, 3, 4, 5, 6];
List list3 = new List();
list3.add('3');
list3.add(100);
print(list1);
print(list2);
print(list3);
属性
List list = ['apple', 'banana', 'peach', 'tomato'];
print(list.length);
print(list.reversed);
print(list.first);
print(list.last);
print(list.isEmpty);
print(list.isNotEmpty);
print(list.runtimeType);
Iterator itr = list.iterator;
while (itr.moveNext()) {
print(itr.current);
}
List list = ['apple'];
print(list.single);
方法
数组增加元素
List list = ['apple', 'banana', 'peach', 'tomato'];
list.add('strawberry');
print(list);
list.addAll(['new1', 'new2']);
print(list);
list.insert(2, 'strawberry');
print(list);
list.insertAll(2, ['new1', 'new2']);
print(list);
数组删除元素
List list = ['apple', 'banana', 'peach', 'tomato'];
list.remove('apple');
print(list);
list.removeLast();
print(list);
list.removeAt(2);
print(list);
list.removeRange(0, 2);
print(list);
list.removeWhere((element) => element == 'banana');
print(list);
list.clear();
print(list);
数组数据类型转换
List list = ['apple', 'banana', 'peach', 'tomato'];
print(list.join(','));
print(list.toString());
print(list.toSet());
print(list.asMap());
数组遍历
List list = ['apple', 'banana', 'peach', 'tomato'];
list.forEach((element) {
print(element);
});
Iterable res = list.map((value) {
return value;
});
print(res);
List list = [1, 2, 3, 4];
var res = list.reduce((a, b) => a * b);
print(res);
var res2 = list.fold(10, (a, b) => a * b);
print(res2);
var res3 = list.expand((element) => [element, element + 1]);
print(res3);
数组匹配
List list = [1, 2, 3, 4];
bool res = list.every((element) => element > 2);
print(res);
bool res2 = list.any((element) => element > 2);
print(res2);
var res3 = list.where((element) => element > 2);
print(res3);
var res6 = list.firstWhere((element) => element > 2);
print(res6);
var res7 = list.lastWhere((element) => element > 2);
print(res7);
var res4 = list.indexWhere((element) => element > 2);
print(res4);
var res5 = list.lastIndexWhere((element) => element > 2);
print(res5);
var res8 = list.singleWhere((element) => element > 3);
print(res8);
list.retainWhere((element) => element > 2);
list.join(',');
print(list);
List list = [1, 2, 'a', 4];
Iterable<int> res = list.whereType();
print(res);
Iterable<String> res2 = list.whereType();
print(res2);
数组取值与略值
List<String> colors = ['red', 'green', 'blue', 'orange', 'pink'];
Iterable<String> range = colors.getRange(1, 4);
print(range.join(', '));
List list = [1, 2, 3, 4];
print(list.elementAt(2));
List list = [1, 2, 3, 4, 3];
print(list.indexOf(3));
List list = [1, 2, 3, 4, 3];
print(list.lastIndexOf(3));
List list = [1, 2, 3, 4];
print(list.sublist(0, 3));
print(list.take(2));
print(list.takeWhile((value) => value < 4));
List list = [1, 2, 3, 4];
print(list.skip(2));
print(list.skipWhile((value) => value < 4));
数组打乱和整理
List list = [1, 2, 3, 4];
list.shuffle();
print(list);
List list = [2, 1, 3, 4];
list.sort();
print(list);
数组替换、填充值
List list1 = [1, 2, 3, 4];
List list2 = [5, 6];
list1.setRange(0, 2, list2);
print(list1);
List list = [1, 2, 3, 4];
list.replaceRange(0, 2, [5, 6]);
print(list);
List<String> list = ['a', 'b', 'c'];
list.setAll(1, ['bee', 'sea']);
list.join(', ');
print(list);
List<int> list2 = new List(3);
list2.fillRange(0, 2, 1);
print(list2);
List list = [1, 2, 3, 4];
List lsit2 = [5, 6];
print(list.followedBy(lsit2));
检测数组
List list = [1, 2, 3, 4];
print(list.contains(2));
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】