【问题标题】:Is there a way to insert value into an EMPTY List at a specific index有没有办法在特定索引处将值插入 EMPTY 列表
【发布时间】:2020-08-15 19:45:59
【问题描述】:

有没有办法在 dart 的特定索引处将值插入 EMPTY 列表??

或者像定义固定长度列表并在任何特定索引处插入值???

【问题讨论】:

    标签: list flutter dart


    【解决方案1】:

    更新: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&lt;int?&gt;.filled(5, null) 创建一个预先填充的列表空值。
    • @lrn 是的,谢谢,刚刚测试过,让我更新解决方案。
    猜你喜欢
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 2017-12-08
    • 2018-05-22
    • 1970-01-01
    • 2014-05-01
    相关资源
    最近更新 更多