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

相关推荐
俏皮小混子13 小时前
山东大学软件学院项目实训-创新实训-计科智伴(五)——个人博客(从接口对接到边界问题修复的完整记录)
笔记·学习·状态模式·山东大学
AugustRed13 小时前
Flyway 数据库版本迁移 零基础完整学习文档
数据库·学习
我的xiaodoujiao13 小时前
API 接口自动化测试详细图文教程学习系列23--结合Pytest框架使用4-前后置处理
python·学习·测试工具·pytest
USC-XiangLuXun13 小时前
局部科技小创新是有意义的
科技·学习·生活
Upsy-Daisy14 小时前
IOTA 学习笔记(三):IOTA 的技术演进路线
笔记·学习
有个人神神叨叨14 小时前
Agent Memory 学习笔记-1.0
笔记·学习
一只肥瘫瘫14 小时前
STM32 程序升级学习笔记:Bootloader、IAP 与串口升级流程
笔记·stm32·学习
qq_5710993514 小时前
学习周报四十七
学习
凉、介15 小时前
深入理解 ARMv8-A|异常/中断处理
笔记·学习·嵌入式·arm
吃好睡好便好15 小时前
矩阵的求逆运算
人工智能·学习·线性代数·matlab·矩阵