【发布时间】:2020-08-15 19:45:59
【问题描述】:
有没有办法在 dart 的特定索引处将值插入 EMPTY 列表??
或者像定义固定长度列表并在任何特定索引处插入值???
【问题讨论】:
有没有办法在 dart 的特定索引处将值插入 EMPTY 列表??
或者像定义固定长度列表并在任何特定索引处插入值???
【问题讨论】:
更新:Dart 2.7 附带 Null Safety(感谢 @lrn 提供信息),它不允许使用默认构造函数来防止值作为 null。
使用filled 固定/可增长列表作为:
// fixed size list
var fixedList = List<int>.filled(3, 0);
fixedList[2] = 100;
print(fixedList);
// mutable list
var growableList = [];
growableList.length = 3;
growableList[3] = 100;
// or
var growableList = List<int>.filled(3, 0, growable:true);
growableList.length = 13;
print(growableList);
或者,您可以使用预定义的值声明一个不断增长的列表
var growingList = [0,0,0,0,0];
growingList[3] = 100;
并且只为预定义的值/索引设置值是安全的,尽管此列表将能够添加超过五个的值。
在 Dart 2.7+ 中移除
你可以定义一个有大小的列表
// removed in dart 2.7 SDK, use filled or alternate solution
var myList = new List(5);
然后使用索引将值设置为:
myList[3] = 100;
【讨论】:
List([int length]) 构造函数将在 Dart 的 Null Safety 版本中被删除(因为它不是 null 安全的)。你仍然可以使用 List<int?>.filled(5, null) 创建一个预先填充的列表空值。