dart 学习列表 List

List 列表

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

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

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

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

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

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

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

    List<String> 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<int> numbers = [1, 2, 3, 4, 5];

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

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

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

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

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

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

相关推荐
云上艺旅1 天前
K8S学习之基础七十四:部署在线书店bookinfo
学习·云原生·容器·kubernetes
你觉得2051 天前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
A旧城以西1 天前
数据结构(JAVA)单向,双向链表
java·开发语言·数据结构·学习·链表·intellij-idea·idea
无所谓จุ๊บ1 天前
VTK知识学习(50)- 交互与Widget(一)
学习·vtk
FAREWELL000751 天前
C#核心学习(七)面向对象--封装(6)C#中的拓展方法与运算符重载: 让代码更“聪明”的魔法
学习·c#·面向对象·运算符重载·oop·拓展方法
吴梓穆1 天前
UE5学习笔记 FPS游戏制作38 继承标准UI
笔记·学习·ue5
Three~stone1 天前
MySQL学习集--DDL
数据库·sql·学习
齐尹秦1 天前
HTML 音频(Audio)学习笔记
学习
瞌睡不来1 天前
(学习总结32)Linux 基础 IO
linux·学习·io
Moonnnn.1 天前
运算放大器(四)滤波电路(滤波器)
笔记·学习·硬件工程