Flutter中List数组的常用方法

Flutter中List数组的常用方法

Dart语言是Flutter开发的必备语言,官方地址如下:Dart:https://dart.cn/

List数组的常用方法

数组 (Array) 是几乎所有编程语言中最常见的集合类型,在 Dart 中数组由 List 对象表示。接下来运用使用dart工具来运行这些常用的方法,工具:https://dartpad.cn

  • 定义固定长度数组
void main() {  var list = List(2);  print('$list'); // [null, null]}
  • 定义混合类型数组
void main() { 
 var list = List<dynamic>();
  list.add('我是文本');
  list.add(0.66); 
 print(list); // [我是文本, 0.66]}
  • 获取数组第一个元素
void main() { 
 var list = [1, 2, 2, 3, 4, 5, 6, 6]; 
 print(list.first); // 1
}

获取数组最后一个元素-list.last

  • 获取倒序迭代器 - reversed
void main() { 
   var list = [1, 2, 2, 3, 4, 5, 6, 6];  
  print(list.reversed); // (6, 6, 5, 4, 3, 2, 2, 1)
}
  • 批量添加 - addAll或者 扩展操作符(…)和 空感知扩展操作符(…?)
void main() { 
  var list = [1, 2, 2, 3, 4, 5, 6, 6];
  var list2 = [0, 20, 40];
  list.addAll(list2);
  print(list); //[1, 2, 2, 3, 4, 5, 6, 6, 0, 20, 40]
}
	或使用扩展操作符,结果是一样的
void main() {
  var list2 = [0, 20, 40];
  var list = [1, 2, 2, 3, 4, 5, 6, 6, ...?list2];
  print(list); //[1, 2, 2, 3, 4, 5, 6, 6, 0, 20, 40]
}
  • 判断数组内是否有满足条件的元素- any
void main() {
  var list = [1, 2, 2, 3, 4, 5, 6, 6];// 数组中是否有大于3的元素
  print(list.any((v) => v > 3)); // true
// 数组中是否有大于7的元素
  print(list.any((v) => v > 7)); // false
}
  • 判断数组所有元素是否都满足设定条件 - every
void main() {
  var list = [1, 2, 2, 3, 4, 5, 6, 6];
// 数组中所有元素是否都大于0
  print(list.every((v) => v > 0)); // true
// 数组中所有元素是否都大于5
  print(list.every((v) => v > 5)); // false
}
  • 获取满足条件的元素 - where
void main() {
  var list = [1, 2, 2, 3, 4, 5, 6, 6];
  // 获取所有大于3的元素
  print(list.where((v) => v > 3).toList()); //[4, 5, 6, 6]
}
  • 获取满足条件的第一个元素 - firstWhere
void main() {
  var list = [1, 2, 2, 3, 4, 5, 6, 6];  // 获取最后一个大于3的元素
  print(list.firstWhere((v) => v > 3)); // 4
  // 如果未查找到所制定条件的元素,进入orElse参数 
 list.firstWhere((v) => v > 6, orElse: () {
    print(888);
  });
}
	获取满足条件的最后一个元素 - lastWhere (与firstWhere同理,第一个与最后一个的区别)
  • 从指定位置开始,获取满足条件的第一个元素的索引 - indexWhere

     获取满足条件的最后一个元素的索引(倒叙查询) - lastIndexWhere(与indexWhere同理,第一个与最后一个的区别)
    
  • 从指定位置开始,获取指定值的索引 - indexOf

     从指定位置开始,倒叙获取指定值的索引 - lastIndexOf(与indexOf同理,第一次与最后一次的区别)
    
  • 将数组用指定字符拼接成字符串 - join

void main() {
  var list = [1, 2, 2, 3, 4, 5, 6, 6];
  // 将数组转换为用英文逗号拼接的字符串
  print(list.join(',')); // 1,2,2,3,4,5,6,6
}
  • 数组去重 - toSet

void main() {
var list = [1, 2, 2, 3, 4, 5, 6, 6];
print(list.toSet()); // {1, 2, 3, 4, 5, 6}
}

  • 数组遍历 - for\for in\forEach
void main() {
  var list = [1, 2, 2, 3, 4, 5, 6, 6]; 
 //for
  for (var i = 0; i < list.length; i++) {
    print("for:$i");  
}
  //for in
  for (var item in list) {
    print("for in:$item");  
}
  //forEach
  list.forEach((element) {
    print("forEach:$element");
  });
}
  • 按指定条件返回 - map
void main() {
  var list = [1, 2, 2, 3, 4, 5, 6, 6];  // 将list所有元素加1并返回数组
  var v = list.map((e) {
    return e + 1;  
}).toList(); 
 print(v); //[2, 3, 3, 4, 5, 6, 7, 7]
}
  • 累加器 - reduce
void main() {
  var list = [1, 2, 2, 3, 4, 5, 6, 6];// 将每次返回值作为value循环执行。最终返回最后一次执行值
  var count = list.reduce((value, element) {
    print('value: $value - element: $element');
    /**    每次的执行结果
    value: 1 - element: 2
    value: 3 - element: 2 
   value: 5 - element: 3 
   value: 8 - element: 4 
   value: 12 - element: 5 
   value: 17 - element: 6
    value: 23 - element: 6 
 */ 
   return value + element; 
 }); 
 print('count: $count'); // count: 29
}
  • 排序 - sort
void main() {
  var list = [1, 2, 2, 3, 4, 5, 6, 6];
// a - b 为升序, b - a为降序
  list.sort((a, b) {    return b - a;  });
  print(list); //[6, 6, 5, 4, 3, 2, 2, 1]
}

原文链接:Flutter与一些常用的Dart语法

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值