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

相关推荐
是翎8 小时前
深度长文|2026产品经理AI实践手册
人工智能·深度学习·学习·自然语言处理·数据挖掘
Linux-lucky8 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
知识分享小能手9 小时前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
AI职业加油站12 小时前
数据要素价值释放年:大数据治理工程师,站上职业新风口
人工智能·学习·职场和发展·数据分析·职场发展
啄缘之间12 小时前
1.【SVA】什么是SVA?
经验分享·学习·测试用例·verilog·sva
sunoo-22913 小时前
【嵌入式裸机开发Day04】i.MX6ULL 蜂鸣器驱动详解:从引脚地址查找到代码实现全流程
arm开发·单片机·嵌入式硬件·学习·串口·裸机
Purple Coder13 小时前
stm32
学习
边境悍匪13 小时前
蜗牛学苑 Java 智能体学习 Day45|Knife4j+SpringBoot3、书城项目整合 MyBatis 思维导图复盘
java·开发语言·vue.js·学习·spring
爱吃苹果的日记本13 小时前
离散数学第五课
学习·离散数学
外收内放14 小时前
Python与AI应用(json模块)
python·学习