# Flutter——最详细数组List使用教程

21 篇文章 15 订阅

1，插入元素 insert()

	List<int> leftList = [1, 2, 3, 4, 5, 6]
leftList.insert(0, 0);
print(leftList.toString());
//[0, 1, 2, 3, 4, 5, 6]


2，插入一段素组元素 insertAll()

  List<int> leftList = [1, 2, 3, 4, 5, 6];
List<int> rightList = [62, 23, 7, 9];
leftList.insertAll(0, rightList);
print(leftList.toString());
//[62, 23, 7, 9, 1, 2, 3, 4, 5, 6]


  List<int> leftList = [1, 2, 3, 4, 5, 6];
print(leftList.toString());
//[1, 2, 3, 4, 5, 6, 7]


	List<int> leftList = [1, 2, 3, 4, 5, 6];
print(leftList.toString());
//[1, 2, 3, 4, 5, 6, 8]


5，删除素组中的元素 remove

    leftList.remove(3);
print(leftList.toString());
//[1, 2, 4, 5, 6]


6，根据索引删除素组中的元素 removeAt

    List<int> leftList = [1, 2, 3, 4, 5, 6];
leftList.removeAt(4);
print(leftList.toString());
//[1, 2, 3, 4, 6]


7，删除索引0到3的元素 removeRange

    List<int> leftList = [1, 2, 3, 4, 5, 6];
leftList.removeRange(0, 3);
print(leftList.toString());
//[4, 5, 6]


8，删除数组最后一位元素 removeLast

    List<int> leftList = [1, 2, 3, 4, 5, 6];
leftList.removeLast();
print(leftList.toString());
//[1, 2, 3, 4, 5]


9，保存数组满足该条件的元素 removeWhere

    List<int> leftList = [1, 2, 3, 4, 5, 6];
leftList.removeWhere((element) => element.isOdd);
print(leftList.toString());
//[2, 4, 6]


10，替换索引1至4的元素 setRange

    List<int> leftList = [1, 2, 3, 4, 5, 6];
print(leftList.toString());
leftList.setRange(1, 4, [1, 11, 2, 2]);
print(leftList.toString());
//[1, 1, 11, 2, 5, 6]


11，从索引3的位置，替换老元素， setAll

    List<int> leftList = [1, 2, 3, 4, 5, 6];
print(leftList.toString());
leftList.setAll(3, [1, 11, 54]);
print(leftList.toString());
//[1, 2, 3, 1, 11, 54]


12，从索引3至4的位置，替换新素组，并保留尾部的元素 replaceRange

    List<int> leftList = [1, 2, 3, 4, 5, 6];
print(leftList.toString());
leftList.replaceRange(3, 4, [1, 11, 2, 2]);
print(leftList.toString());
//[1, 2, 3, 1, 11, 2, 2, 5, 6]


13，从索引3至5的位置，将元素修改成2 fillRange

    List<int> leftList = [1, 2, 3, 4, 5, 6];
print(leftList.toString());
leftList.fillRange(3, 5, 2);
print(leftList.toString());
// [1, 2, 3, 2, 2, 6]


14，获取索引1至5的元素 getRange

    List<int> leftList = [1, 2, 3, 4, 5, 6];
print(leftList.toString());
var range = leftList.getRange(1, 5);
print(range.toString());
//(2, 3, 4, 5)


15，根据索引值，返回新的数组 sublist

    List<int> leftList = [1, 2, 3, 4, 5, 6];
print(leftList.toString());
var range = leftList.sublist(3);
print(range.toString());
//[4, 5, 6]
var ranges = leftList.sublist(3, 5);
print(ranges.toString());
//[4, 5]


16，判断素组是否 存在 满足该条件 any

    List<int> leftList = [1, 2, 3, 4, 5, 6];
print(leftList.toString());
var any = leftList.any((element) => element > 3);
print(any.toString());


17，判断数组是否 全员 满足该条件 every

    List<int> leftList = [1, 2, 3, 4, 5, 6];
print(leftList.toString());
var any = leftList.every((element) => element > 3);
print(any.toString());
// false


18，打印数组最后一位满足改条件的元素，不满足则走 orElse方法 lastWhere

   List<int> leftList = [1, 2, 3, 4, 5, 6];

/// 获取最后一个大于3的元素
print(leftList.lastWhere((v) => v > 6));
//
// leftList.firstWhere((element) => element > 6, orElse: () {
// });


19，从数组中查找是否满足条件，并返回索引值 indexWhere

    List<int> leftList = [1, 2, 3, 4, 5, 6];
print(leftList.toString());
//[1, 2, 3, 4, 5, 6]
var indexWhere = leftList.indexWhere((element) => element > 7);
print(indexWhere);
// -1
var indexWheres = leftList.indexWhere((element) => element > 1, 1);
print(indexWheres);
// 1


20，从最后一位开始查找，是否满足该条件的索引 lastIndexWhere

    List<int> leftList = [1, 2, 3, 4, 5, 2];
// 获取最后一个大于4的元素索引值
print(leftList.lastIndexWhere((v) => v > 2)); // 5
// 从索引4开始，查询最后一个大于4的元素索引值
print(leftList.lastIndexWhere((v) => v > 3, 4)); // 4
// 如果没有，返回-1
print(leftList.lastIndexWhere((v) => v > 9)); // -1


21，数组是否存在该值 indexOf

    List<int> leftList = [1, 2, 3, 4, 5, 6];

///从索引 3 开始查找，获取第一次出现2的索引值，如果不存在，返回 -1
print(leftList.indexOf(2, 3));
//-1
print(leftList.indexOf(5));
//4


22，从最后面开始查找是否存在该值 lastIndexOf

    List<int> leftList = [1, 2, 3, 4, 5, 6];
print(leftList.toString());

///从索引 3 开始查找，倒序获取第一次出现2的索引值，如果不存在，返回 -1
print(leftList.lastIndexOf(2, 3));
//1
print(leftList.lastIndexOf(6));
//5
print(leftList.lastIndexOf(9));
//-1


23，判断是否存在该条件的元素 singleWhere

    List<int> leftList = [1, 2, 3, 4, 5, 6];
// 获取等于2的唯一元素，存在，返回2
print(leftList.singleWhere((v) => v == 2));
//2
// 获取等于6的唯一元素，存在该元素，但是出现次数不唯一，不会执行orElse，直接抛出错误，进入catch
print(leftList.singleWhere((v) => v == 6));
//6
// 获取大于6的唯一元素，不存在该元素，执行orElse
print(leftList.singleWhere((v) => v > 6, orElse: () {
return orElse(1);
}));


24，将数组拼接成字符串 join

    List<int> leftList = [1, 2, 3, 4, 5, 6];
print(leftList.join('&'));
//1&2&3&4&5&6


25，数组去重 toSet

   List<int> leftList = [1, 2, 3, 4,3, 5, 6];
print(leftList.toSet());
//[1, 2, 3, 4, 5, 6]


26，数组循环遍历 forEach

    List<int> leftList = [1, 2, 3, 4, 5, 6];
leftList.forEach((element) {
print(element);
});

for (var element in leftList) {
print(element);
}


27，数组参数遍历 map

    List<int> leftList = [1, 2, 3, 4, 5, 6];
var map = leftList.map((e) {
return e + 2;
});
print(map.toString());
// (3, 4, 5, 6, 7, 8)
var map2 = leftList.map((e) {
return e > 3;
});
print(map2.toString());
// (false, false, false, true, true, true)


28，数组累加 reduce

   List<int> leftList = [1, 2, 3, 4, 5, 6];
var reduce = leftList.reduce((value, element) {
print('value = $value ; element =$element');
return value + element;
});
print(reduce.toString());
//   value = 1 ; element = 2
//value = 3 ; element = 3
//value = 6 ; element = 4
//value = 10 ; element = 5
//value = 15 ; element = 6
//21


29，数组 a-b 升序 ，b-a降序 sort

 List<int> leftList = [1, 2, 3, 4, 5, 6];
rightList.sort((a, b) {
return b - a;
});
print(rightList.toString());
//b-a =  [6, 5, 4, 3, 2, 1]
//a-b = [1, 2, 3, 4, 5, 6]


• 3
点赞
• 8
收藏
觉得还不错? 一键收藏
• 打赏
• 0
评论
08-25
03-18 8446
04-08 1793
05-25 4232
06-27 1895
11-09 1447
08-09 723
06-17 778
01-15 2054
06-24 3140

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

• 非常没帮助
• 没帮助
• 一般
• 有帮助
• 非常有帮助

¥1 ¥2 ¥4 ¥6 ¥10 ¥20

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