dart 学习列表 List

List 列表

在 Dart 编程语言中,List 是一种有序的集合数据类型,用于存储一系列项目。它允许您在单个变量中存储多个项目,并提供了许多操作来管理列表中的数据。以下是关于 Dart 中的 List 的一些重要信息:

  1. 创建 List:
    您可以使用以下方法之一来创建一个 List:

    // 创建一个空的 List
    List emptyList = [];

    // 使用 List 构造函数创建 List
    List fruits = List();

    // 使用 List.of() 创建 List 并初始化数据
    List numbers = List.of([1, 2, 3, 4, 5]);

    // 使用字面量创建 List
    List decimalNumbers = [1.5, 2.0, 3.7];

  2. 基本操作:
    List 提供了许多方法来进行基本操作,如添加、移除、访问元素等。

    List colors = ['red', 'green', 'blue'];

    // 获取列表长度
    int length = colors.length;

    // 访问元素
    String firstColor = colors[0];

    // 添加元素到列表末尾
    colors.add('yellow');

    // 在指定位置插入元素
    colors.insert(1, 'orange');

    // 删除指定元素
    colors.remove('green');

    // 删除指定索引位置的元素
    colors.removeAt(0);

    // 检查是否包含某元素
    bool hasBlue = colors.contains('blue');

    // 查找元素索引
    int indexOfBlue = colors.indexOf('blue');

  3. 迭代:
    您可以使用循环来遍历 List 中的元素。

    for (int i = 0; i < colors.length; i++) {
    print(colors[i]);
    }

    for (String color in colors) {
    print(color);
    }

    colors.forEach((color) {
    print(color);
    });
    4. 列表转换:
    List 可以通过 map、where 等方法进行转换。

    List numbers = [1, 2, 3, 4, 5];

    List doubledNumbers = numbers.map((number) => number * 2).toList();

    List evenNumbers = numbers.where((number) => number % 2 == 0).toList();

  4. 排序:
    您可以使用 sort 方法对 List 进行排序。

    List numbers = [4, 2, 1, 5, 3];
    numbers.sort(); // 默认升序排序

    List words = ['apple', 'banana', 'cherry'];
    words.sort((a, b) => a.compareTo(b)); // 自定义排序

Dart 中的 List 是非常有用且常见的数据类型,适用于许多场景,从存储简单的数据到复杂的对象。它提供了丰富的方法来管理和操作列表中的数据,使您能够轻松处理各种数据集合。

相关推荐
lhh_qrsly1 小时前
HTTP / HTTPS / MQTT / MQTTs(嵌入式学习版)
学习·http·https
xier_ran18 小时前
【infra之路】AI 编译器学习笔记(十三):AI 编译器全景——TVM、XLA、IREE 与其他
人工智能·笔记·学习
连山齐名18 小时前
ai应用开发的学习笔记
服务器·笔记·学习
xier_ran19 小时前
【infra之路】AI 编译器学习笔记(十四):为什么要 tiling,以及矩阵计算单元的“固定“
人工智能·笔记·学习
燕落南枝19 小时前
HTML 学习:辅助标签 label 与字符实体
前端·学习·html
hackchen19 小时前
LangChain 学习第 3 课 - 输出解析器(Output Parser)
数据库·学习·langchain
wangguanghou120 小时前
【学习成长】深入解析721学习成长模型:70-20-10法则的实践指南与避坑手册
学习
其实防守也摸鱼20 小时前
Linux文本处理命令理论学习
linux·服务器·前端·数据库·sql·学习·安全
dadaobusi20 小时前
学习: Triton
学习
一条泥憨鱼20 小时前
【计算机网络】| 从 MAC 到 NAT 的跨网段通信全链路
服务器·网络·学习·计算机网络·macos