Flutter技术实现:从00-99字符串列表生成指定子列表
解决方案
你的原始列表生成逻辑没问题,基于它可以通过列表过滤操作快速得到两个目标列表:
1. 筛选包含"0"的字符串列表
直接使用where方法配合字符串的contains方法过滤元素,最后通过toList()转为List类型:
List<String> zeroIncludedList = numList.where((str) => str.contains("0")).toList();
这段代码会遍历numList,保留所有包含字符"0"的元素。
2. 筛选以"1"开头的字符串列表
使用where方法配合字符串的startsWith方法实现开头字符匹配:
List<String> startWithOneList = numList.where((str) => str.startsWith("1")).toList();
startsWith("1")会检查字符串首字符是否为"1",符合条件的元素会被保留。
完整示例代码
把所有逻辑整合后的可运行代码:
void main() { List<String> numList = [for (var i = 0; i < 100; i++) i.toString().padLeft(2, "0")]; // 包含"0"的列表 List<String> zeroIncludedList = numList.where((str) => str.contains("0")).toList(); print(zeroIncludedList); // 输出 [00, 01, 02, ..., 10, 20, ..., 90] // 以"1"开头的列表 List<String> startWithOneList = numList.where((str) => str.startsWith("1")).toList(); print(startWithOneList); // 输出 [10, 11, 12, ..., 19] }
内容的提问来源于stack exchange,提问作者Baby Satan
相关产品推荐
相关产品推荐

