flutter_鸿蒙next_Dart基础②List

简介: 本文介绍了 Dart 编程语言中的列表操作,包括创建、打印、强类型列表、可扩展空列表、填充列表、列表扩展、可选展开操作符、获取列表长度、列表反转、添加和移除元素、插入和清空列表等基本操作。通过代码示例详细解析了每一步的操作方法,帮助读者更好地理解和应用 Dart 列表。

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

代码示例
void main(){
List l1 = ['a','b','c'];
print(l1);

List l2 = [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;//null
var 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 = [1, 2, 3]; print(l2);
    这里声明了一个强类型的列表 l2,它只允许存储 int 类型的元素。列表被初始化为包含数字 1、2 和 3,并打印出来。

  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 中,若 l6 为 null,则不会添加任何元素。输出结果为 [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 列表的操作有所帮助!
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/lbcyllqj/article/details/142700533

目录
相关文章
|
23天前
|
存储 调度 数据安全/隐私保护
鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
鸿蒙应用打包上架流程包括创建应用、打包签名和上传应用。首先,在AppGallery Connect中创建项目、APP ID和元服务。接着,使用Deveco进行手动签名,生成.p12和.csr文件,并在AppGallery Connect中上传CSR文件获取证书。最后,配置签名并打包生成.app文件,上传至应用市场。常见问题包括检查签名配置文件是否正确。参考资料:[应用/服务签名](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-signing-V5)。
53 3
鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
|
23天前
|
开发工具 芯片 开发者
鸿蒙Flutter实战:12-使用模拟器开发调试
本文介绍了如何在 M 系列芯片的 Mac 电脑上使用模拟器进行鸿蒙 Flutter 开发和调试。主要内容包括:创建 Flutter 项目、签名、创建模拟器、运行 Flutter 项目以及常见问题的解决方法。适用于希望在鸿蒙系统上开发 Flutter 应用的开发者。
40 2
鸿蒙Flutter实战:12-使用模拟器开发调试
|
27天前
|
开发工具 UED 容器
Flutter&鸿蒙next 实现长按录音按钮及动画特效
本文介绍了如何在 Flutter 中实现一个带有动画效果的长按录音按钮。通过使用 `GestureDetector` 监听长按手势,结合 `AnimatedContainer` 和 `AnimationController` 实现按钮的动画效果,以及 `flutter_sound` 插件完成录音功能。文章详细讲解了功能需求、实现思路和代码实现,帮助读者逐步掌握这一实用功能的开发方法。
101 5
|
27天前
|
容器
Flutter &&鸿蒙next中的 Stack 和 Positioned 用法详解
在 Flutter 中,Stack 和 Positioned 是创建层叠布局和灵活定位元素的常用组件。Stack 可以将多个子组件叠加在一起,允许子组件相互重叠;Positioned 用于在 Stack 内部精确控制子组件的位置。本文详细介绍了它们的基本用法、属性和应用场景,包括动画、弹出层和悬浮按钮等。
77 1
|
27天前
|
UED 开发者 容器
Flutter&鸿蒙next 的 Sliver 实现自定义滚动效果
Flutter 提供了强大的滚动组件,如 ListView 和 GridView,但当需要更复杂的滚动效果时,Sliver 组件是一个强大的工具。本文介绍了如何使用 Sliver 实现自定义滚动效果,包括 SliverAppBar、SliverList 等常用组件的使用方法,以及通过 CustomScrollView 组合多个 Sliver 组件实现复杂布局的示例。通过具体代码示例,展示了如何实现带有可伸缩 AppBar 和可滚动列表的页面。
90 1
|
27天前
|
存储 Dart
Flutter&鸿蒙next 实现一个计算器应用
本文介绍了如何使用 Flutter 创建一个简单的计算器应用,包括基本的加减乘除运算。文章详细讲解了界面布局、计算逻辑和状态管理的实现步骤,通过具体的代码示例展示了如何构建计算器界面、处理用户输入和显示计算结果。
74 0
|
27天前
|
传感器 开发框架 物联网
鸿蒙next选择 Flutter 开发跨平台应用的原因
鸿蒙(HarmonyOS)是华为推出的一款旨在实现多设备无缝连接的操作系统。为了实现这一目标,鸿蒙选择了 Flutter 作为主要的跨平台应用开发框架。Flutter 的跨平台能力、高性能、丰富的生态支持和与鸿蒙系统的良好兼容性,使其成为理想的选择。通过 Flutter,开发者可以高效地构建和部署多平台应用,推动鸿蒙生态的快速发展。
176 0
|
27天前
|
Dart JavaScript 前端开发
Flutter 的 Widget 概述与常用 Widgets 与鸿蒙 Next 的对比
Flutter 是 Google 开发的开源 UI 框架,用于快速构建高性能的移动、Web 和桌面应用。Flutter 通过 Widget 构建 UI,每个 UI 元素都是 Widget,包括文本、按钮、图片等。Widget 不仅描述外观,还描述行为,是不可变的。常见的 Widget 包括结构型(Container、Column、Row)、呈现型(Text、Image)、交互型(ElevatedButton)和状态管理型(StatefulWidget)。Flutter 与鸿蒙 Next 在组件化架构、开发语言、布局系统、性能和跨平台支持方面各有优势
73 0
|
2月前
|
Android开发 iOS开发 容器
鸿蒙harmonyos next flutter混合开发之开发FFI plugin
鸿蒙harmonyos next flutter混合开发之开发FFI plugin
|
9天前
|
传感器 前端开发 Android开发
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求。本文深入探讨了插件开发的基本概念、流程、集成方法、常见类型及开发实例,如相机插件的开发步骤,同时强调了版本兼容性、性能优化等注意事项,并展望了插件开发的未来趋势。
23 2