如何在Dart/Flutter中创建固定长度不可扩展的列表?
在Dart/Flutter中创建固定长度不可扩容的列表
要创建一个仅能容纳3个元素、不支持扩容的列表,Dart提供了几种直接的实现方式:
1. 使用List.filled构造函数
这是创建固定长度列表最直接的方式,你可以指定列表长度和初始填充值:
// 创建长度为3,所有元素初始值为0的固定长度列表 List<int> fixedList = List.filled(3, 0);
该列表长度固定为3,你可以修改现有索引位置的元素,但无法调用add()、remove()等会改变列表长度的方法,否则会抛出UnsupportedError。
2. 使用List.generate构造函数
如果需要根据索引动态生成初始元素,这个方法更适用,同样会生成固定长度列表:
// 创建长度为3,元素为"item 0"、"item 1"、"item 2"的固定长度列表 List<String> fixedList = List.generate(3, (index) => 'item $index');
3. 将可增长列表转为固定长度
如果已有一个可增长列表(比如用[]创建的),可以通过toList(growable: false)将其转换为固定长度版本:
List<double> growableList = [1.0, 2.0, 3.0]; // 转换为固定长度列表 List<double> fixedList = growableList.toList(growable: false);
需要注意:以上三种方式创建的列表均为固定长度列表,其长度在创建后无法更改,任何尝试扩容或缩容的操作都会触发错误。
内容的提问来源于stack exchange,提问作者Emirhan Selim Uzun
相关产品推荐
相关产品推荐

