Flutter数组基础语法

432 阅读2分钟

Flutter数组基础语法

数组定义

1.直接赋值

混合类型 dynamic

var list = [];

字符串类型

var list = ['string'];
var l2 = <String>['111','222']

2.定义固定长度数组

var list = List.filled(2, ' '); //  字符串数组[' ',' ']
var list2 = List<String>.filled(2, ''); // 字符串数组
var list3 = List<dynamic>.filled(2, '');// 混合类型固定长度数组
Dart具有类型推导能力,类型可以省略

常用属性

  • list.length 长度
  • list.reversed 翻转
  • list.isEmpty 是否为空
  • list.isNotEmpty 是否不为空
  • list.first 获取第一个元素
  • list.last 获取最后一个元素

常用方法

增加

  • list.add(value) 增加
  • list.addAll(iterable) 拼接数组
  • list.insert(index, value) 插入
  • list.insertAll(index, iterable) 插入数组

删除

  • list.remove(value) 删除 传入具体值
  • list.removeAt(index) 删除 传入索引值
  • list.removeLast(); 删除最后一位元素
  • list.removeRange(start, end); 范围删除 传入开始结束区间索引值
  • list.removeWhere((v) => 判断条件); 删除符合函数返回值为true的元素
  • list.clear(); 删除所有元素

更改

  • list.setRange(start, end, iterable, skipCount) 修改区间为指定数组的值
    • skipCount 默认为0,表示从第几位开始选取指定数组的值,使用概率较低
  • list.setAll(index, iterable); 修改指定索引后的值
  • list.fillRange(start,end, value) 修改:将指定区间替换成指定值
  • list.replaceRange(start, end, [value]); 将区间值替换为数组内的值
  • list.toLIst() 其他类型转换成List
  • list.join() LIst转换为字符串

查找

  • list.indexOf(value,index) 查找 传入具体值 返回值为索引,不存在返回-1
  • list.lastIndexOf(value,index) 倒叙查找 传入具体值 返回值为索引,不存在返回-1
  • list.sublist(start, end) ; 查找区间的值,返回数组[value,value]
  • list.getRange(start, end); 查找区间的值,返回迭代器(value,value)
  • list.any((v) => 判断条件); 判断数组是否有符合条件的值,返回布尔值
  • list.every((v) => 判断条件); 判断数组是否都符合条件,返回布尔值
  • list.contains(value); 查找数组是否包含值,返回布尔值
  • list.firstWhere((v) => 判断条件); 获取满足条件的第一个元素
  • list.lastWhere((v) => 判断条件); 获取满足条件的最后一个元素
  • list.indexWhere((v) => 判断条件, index); 从指定位置开始,获取满足条件的第一个元素索引
  • list.lastIndexWhere((v) => 判断条件, index); 从指定位置开始,获取满足条件的最后一个元素索引
  • list.singleWhere((v) => 判断条件, orElse: () {错误捕获}); 查找是否存在满足条件的唯一值,存在返回这个元素,不存在执行第二个函数

转为字符串-join

list.join('字符'); 将数组用指定字符拼接成字符串

去重-toSet

list.toSet(); 转为set类型

遍历-forEach

list.forEach((v) { })

Map

按指定条件返回Iterable list.map((v) { return 指定条件})

累加器-reduce

list.reduce((value,element) { return 累加条件 })

排序-sort

list.sort((a,b) { return 排序条件})

感谢阅读,有需要的点点收藏关注,如有错漏敬请斧正。