flutter_鸿蒙next_Dart基础②List

news/2024/10/5 20:35:38/

目录

代码示例

代码逐段解析

1. 创建和打印列表

2. 强类型列表

3. 创建可扩展的空列表

4. 创建填充列表

5. 列表扩展

6. 使用可选展开操作符

7. 获取列表长度

8. 列表反转

9. 添加多个元素

10. 移除元素

11. 根据索引移除元素

12. 在特定位置插入元素

13. 清空列表

14. 列表合并

写在最后


在本篇博客中,我们将探讨 Dart 编程语言中的列表(List)操作。列表是一种有序的集合,允许存储不同类型的数据。通过一段简单的代码示例,我们将逐步解析 Dart 中的列表操作。

代码示例

void main(){List l1 = ['a','b','c'];print(l1);List l2 = <int>[1,2,3];print(l2);var l3 = new List.empty(growable:true );l3.add(1);print(l3);var l4 = new List.filled(5,"qwe");print(l4);var l5 = [0,...l4];print(l5);var l6;//nullvar l7 = [7,...?l6];//Text(name ?? "");print(l7);print(l4.length);print(l1.reversed.toList());l1.addAll(['w','e']);print(l1);l1.remove('a');print(l1);List l8= ['a','b','c'];l8.removeAt(2);print(l8);l8.insert(1, 9);print(l8);l8.clear();print(l8);List A = ['a','b'];print(A.join('-'));}

代码逐段解析

1. 创建和打印列表
List l1 = ['a', 'b', 'c']; print(l1);

这段代码声明了一个名为 l1 的列表,并初始化为包含字符 'a''b''c' 的集合。使用 print() 函数将该列表输出到控制台,结果为 ['a', 'b', 'c']

2. 强类型列表
List l2 = <int>[1, 2, 3]; print(l2);

这里声明了一个强类型的列表 l2,它只允许存储 int 类型的元素。列表被初始化为包含数字 123,并打印出来。

3. 创建可扩展的空列表
var l3 = new List.empty(growable: true); 
l3.add(1); 
print(l3);

通过 List.empty(growable: true) 创建一个空的可扩展列表 l3。随后,使用 add() 方法将数字 1 添加到列表中,输出结果为 [1]

4. 创建填充列表
var l4 = new List.filled(5, "qwe"); 
print(l4);

这段代码通过 List.filled(5, "qwe") 创建了一个长度为 5 的列表 l4,所有元素都被初始化为字符串 "qwe"。打印出的结果为 ['qwe', 'qwe', 'qwe', 'qwe', 'qwe']

5. 列表扩展
var l5 = [0, ...l4]; 
print(l5);

此段代码展示了列表扩展操作。通过 ... 操作符,可以将 l4 的元素添加到新列表 l5 中。l5 的输出结果为 [0, 'qwe', 'qwe', 'qwe', 'qwe', 'qwe']

6. 使用可选展开操作符
var l6; 
// null var l7 = [7, ...?l6]; 
// Text(name ?? ""); print(l7);

这段代码中,l6 未初始化,默认为 null。使用可选展开操作符 ...?l6 中的元素添加到 l7 中,若 l6null,则不会添加任何元素。输出结果为 [7]

7. 获取列表长度
print(l4.length);

使用 length 属性获取列表 l4 的长度,输出结果为 5,表示该列表包含 5 个元素。

8. 列表反转
print(l1.reversed.toList());

reversed 属性用于反转列表 l1 的顺序。将其转换为列表后输出,结果为 ['c', 'b', 'a']

9. 添加多个元素
l1.addAll(['w', 'e']);print(l1);

使用 addAll() 方法向 l1 中添加多个元素 ['w', 'e']。更新后的 l1 输出结果为 ['a', 'b', 'c', 'w', 'e']

10. 移除元素
l1.remove('a'); 
print(l1);

这段代码使用 remove() 方法从 l1 中移除元素 'a'。更新后的 l1 输出结果为 ['b', 'c', 'w', 'e']

11. 根据索引移除元素
List l8 = ['a', 'b', 'c']; 
l8.removeAt(2); 
print(l8);

这部分代码演示了根据索引移除元素。removeAt(2) 将删除索引为 2 的元素 'c',更新后的 l8 输出结果为 ['a', 'b']

12. 在特定位置插入元素
l8.insert(1, 9); 
print(l8);

使用 insert() 方法在索引 1 的位置插入数字 9。更新后的 l8 输出结果为 ['a', 9, 'b']

13. 清空列表
l8.clear(); 
print(l8);

使用 clear() 方法将列表 l8 清空,输出结果为 [],表示列表中不再有任何元素。

14. 列表合并
List A = ['a', 'b']; 
print(A.join('-'));

最后一段代码使用 join() 方法将列表 A 中的元素连接成一个字符串,元素之间用 '-' 分隔。输出结果为 'a-b'

写在最后

通过这段代码,我们学习了 Dart 中列表的基本操作,包括创建列表、添加、移除、插入元素、清空列表及其长度、反转等功能。这些操作是开发过程中必不可少的技能,能够帮助我们更好地管理和操作数据。希望这篇博客对你理解 Dart 列表的操作有所帮助!


http://www.ppmy.cn/news/1535090.html

相关文章

数据结构与算法篇((原/反/补)码 进制)

目录 讲解一&#xff1a;原/反/补)码 一、原码 二、反码 三、补码 四、有符号位整型 五、无符号位整型 六、Java中的整型 七、整数在底层存储形式 讲解二&#xff1a;进制 一、简介 二、常用的进制 十进制 二进制 八进制 十六进制 知识补充 三、进制转换 1. 二…

MySQL使用的数据结构

MySQL 作为一个关系型数据库管理系统&#xff0c;内部实现中使用了多种数据结构来优化存储、索引、查询和其他操作。以下是 MySQL 中常用的一些数据结构&#xff1a; 1. B树 用途&#xff1a;B树是 MySQL 最常用的索引数据结构&#xff0c;主要用于InnoDB 和 MyISAM 存储引擎…

cmd命令大全详解

CMD是Windows操作系统中的命令行解释器&#xff0c;它允许用户通过键入命令来执行各种操作。以下是一些常用的CMD命令及其简要说明&#xff1a; dir - 显示目录中的文件和子目录。 cmddir cd - 更改当前目录。 cmdcd [目录路径] mkdir - 创建新目录。 cmdmkdir [目录名] rmd…

C++编程:实现简单的高精度时间日志记录小程序

0. 概述 为了检查是否存在系统时间跳变&#xff0c;本文使用C实现了一个简单的高精度时间日志记录小程序。该程序能够每隔指定时间&#xff08;默认40毫秒&#xff09;记录一次系统时间到文件中&#xff0c;并具备以下功能&#xff1a; 自定义时间间隔和文件名&#xff1a;通…

国外电商系统开发-运维系统功能清单开发

一、最终效果图 二、功能清单 功能 描述 自定义日志绘图 根据Nginx、Apache登录日志文件绘图&#xff0c;绘图数据包括&#xff1a;访问量走势&#xff0c;500错误&#xff0c;200正确百分比等 创建服务器 加入服务器 主机状态自动检查 加入主机到系统后&#xff0c;系统…

LabVIEW回转支承间隙自动化检测系统

开发了一种基于LabVIEW软件的回转支承间隙检测系统&#xff0c;通过高精度传感器和数据采集卡&#xff0c;自动化、高效地测量回转支承的轴向间隙和径向间隙&#xff0c;提高了检测精度和生产质量。以下是对系统的详细描述与应用案例分析&#xff0c;希望能为有类似需求的开发者…

Redis篇(最佳实践)(持续更新迭代)

介绍一&#xff1a;键值设计 一、优雅的key结构 Redis 的 Key 虽然可以自定义&#xff0c;但最好遵循下面的几个最佳实践约定&#xff1a; 遵循基本格式&#xff1a;[业务名称]:[数据名]:[id]长度不超过 44 字节不包含特殊字符 例如&#xff1a; 我们的登录业务&#xff0…

Leecode热题100-48.旋转图像

给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出…