第三百五十七回

news2025/1/11 20:06:00

文章目录

  • 1. 概念介绍
  • 2. 使用方法
    • 2.1 List
    • 2.2 Map
    • 2.3 Set
  • 3. 示例代码
  • 4. 内容总结

我们在上一章回中介绍了"convert包"相关的内容,本章回中将介绍collection.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们在本章回中介绍的内容是collection,如果有Java开发经验的看官,估计会想起来,Java中也有同名的类,它要主提供List,Set,Map这些常用的数据结构。不
过我们在这里介绍的是dart中的collection,它们虽然功使用了不同的编程语言,但是都提供了List,Set,Map这些常用的数据结构,本章回中将介绍它们的使用方法。

2. 使用方法

collection中主要包含List,Set,Map这样常用的数据结构,接下来我们分别介绍这些数据结构。

2.1 List

List也叫列表,主要用来存放具有相同类型的成员,成员的存放顺序与添加成员时的顺序相同。它提供了添加,插入,修改和删除成员的方法。这样可以方便地操作列表
中的成员。此外,它还提供了一些操作符来操作列表,比如+用来合并两个列表,==用来判断两个列表是否相等。

2.2 Map

Map也叫哈希表,主要用来存放键值对类型的成员,成员的存放顺序不重要,主要通过成员的键来获取与该键对应的值。它提供了添加,修改和删除成员的方法。这样可以
方便地操作哈希表中的成员。此外,它还提供了一些操作符来操作哈希表,比如,==用来判断两个哈希表是否相等。

2.3 Set

Set也叫集合,主要用来存放具有不同类型的成员,成员没有固定的存放顺序,而且不能重复的成员。它提供了添加,修改,查询和删除成员的方法。这样可以方便地操作
集合中的成员。此外,它还提供了一些操作符来操作集合,比如==用来判断两个集合是否相等。

3. 示例代码

final growableList = <String>['A', 'B']; // Creates growable list.
growableList[0] = 'G';
print(growableList); // [G, B]

growableList.add('X');
growableList.addAll({'C', 'B'});
print(growableList); // [G, B, X, C, B]

final indexA = growableList.indexOf('A'); // -1 (not in the list)
final firstIndexB = growableList.indexOf('B'); // 1
final lastIndexB = growableList.lastIndexOf('B'); // 4

growableList.remove('C');
growableList.removeLast();
print(growableList); // [G, B, X]

growableList.insert(1, 'New');
print(growableList); // [G, New, B, X]

growableList.replaceRange(0, 2, ['AB', 'A']);
print(growableList); // [AB, A, B, X]

growableList.fillRange(2, 4, 'F');
print(growableList); // [AB, A, F, F]

我们在上面的示例代码中演示了列表的用法,其中包含列表中各个接口的用法,比如添加,修改,删除成员的接口。这些代码来自官方文档,建议大家自己动手去实践,此
外,我们没有提供Map和Set的示例代码,大家可以参考文官文档来实践。

4. 内容总结

本章回中我们主要介绍了dart中的connection,如果大家有Java编程经验,就会发现它和Java中的colleciton十分相似。此外,dart中还有一个叫collection的
包,大家不要与此包混淆。本章回中介绍的collection在dart::core中,而且colloect是一个独立的包,包中在List,Map,Set这些数据结构的基础上提供了专门
的类,我们可以通过类中的相关方法来使用这些数据结构。包中还提供了一个判断这些数据结构相等的接口:Equality.通过实现接口中的方法来判断数据结构是否相等。
最后,我们对本章回的内容做一个全面的总结:

  • ListList也叫列表,主要用来存放具有相同类型的数据;
  • Map也叫哈希表,主要用来存放键值对类型的数据;
  • Set也叫集合,主要用来存放具有不同类型的数据,不能存放相同的数据;
  • List,Map,Set都提供添加,查找,删除成员的方法;
    看官们,与"collection"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1459760.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第3.2章:Doris-2.0数据导入——Compaction机制

目录 一、Compaction概述 1.1 LSM-Tree概述 1.2 Compaction概述 1.3 Rowset数据版本 1.4 Compaction优点 1.5 Compaction问题 1.5.1 Compaction速度低 1.5.2 写放大问题 1.6 Compaction调优 1.6.1 业务侧 1.6.2 运维侧 二、Compaction执行方式 2.1 Vertical Com…

【Unity】【VR开发】Unity云同步功能使用心得

【背景】 有时出差,旅行等等也带着电脑,晚上想要继续编辑项目,就需要用到云同步功能。目前实践下来,发现有些内容可以同步,有些内容则是不可以同步的,总结如下。 【如何云同步一个本地项目】 UnityHub的项目面板中有两个选项卡:项目和云端项目。 鼠标挪动到想要云同步…

Linux——信号(3)

经过前两部分的介绍&#xff0c;我们现在已经认识了信号是如何产生的&#xff0c;并且知道无 论信号是如何产生的&#xff0c;最终只能由操作系统来对特定进程发送信号&#xff0c;而发送 信号其实也就是写信号&#xff0c;往内核数据结构&#xff08;pending表&#xff09;中写…

STM32引脚重定义问题

最近在搞资源管理&#xff0c;发现有些引脚不能用 比如这个PE引脚。我想用他输出PWM&#xff0c;但是不能用&#xff0c;我也重定义了&#xff0c;还是不能用。回去翻看了技术手册。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //重映射引脚功能&#xff0c;需…

Java面试题:volatile专题

王有志,一个分享硬核Java技术的互金摸鱼侠 加入Java人的提桶跑路群:共同富裕的Java人 今天是《面霸的自我修养》第4篇文章,我们一起来看看面试中会问到哪些关于volatile的问题吧。数据来源: 大部分来自于各机构(Java之父,Java继父,某灵,某泡,某客)以及各博主整理文档…

解决Ubuntu中vscode右键没有create catkin package

右键发现没有这个create catkin package 解决方案&#xff1a; 查了一会发现安装个拓展就可以了 效果&#xff1a;

最新Unity游戏主程进阶学习大纲(2个月)

过完年了&#xff0c;很多同学开始重新规划自己的职业方向,找更好的机会,准备升职或加薪。今天给那些工作了1~5年的开发者梳理”游戏开发客户端主程”的学习大纲&#xff0c;帮助大家做好面试准备。适合Unity客户端开发者。进阶主程其实就是从固定的几个方面搭建好完整的知识体…

【Spring】创建和使用

目 录 一.创建 Spring 项目1.1 创建⼀个 Maven 项目1.2 添加 Spring 框架依赖1.3 手动创建启动类 二.将 Bean 对象存储到 Spring2.1创建Bean对象2.2将 Bean 存储到 Spring 三.获取并使用 Bean 对象3.1 创建 Spring 上下文3.2 获取指定的 Bean 对象3.3 使用 Bean 四.总结 经过前…

Elasticsearch:创建自定义 ES Rally tracks 的分步指南

作者&#xff1a;Alejandro Snchez 按照这个综合教程学习如何制作个性化的 Rally tracks ES Rally 是什么&#xff1f;它的用途是什么&#xff1f; ES Rally 是一个用于在 Elasticsearch 上测试性能的工具&#xff0c;允许你运行和记录比较测试。 做出决策可能很困难&#x…

体感互动游戏定制开发:创新与技术的交融

体感互动游戏是一种结合体感技术和游戏娱乐的新型形式&#xff0c;为玩家提供了更加身临其境的游戏体验。而要开发一款成功的体感互动游戏&#xff0c;需要一支跨学科的团队&#xff0c;他们将创新与技术有机地结合&#xff0c;以满足用户的需求和期待。 首先&#xff0c;游戏…

钉钉小程序 没有调用该接口的权限

钉钉小程序 没有调用该接口的权限 problem 钉钉官方自带免登陆小程序 后端接口报错 {"errcode":60011,"errmsg":"没有调用该接口的权限&#xff0c;接口权限申请参考&#xff1a;https://open.dingtalk.com/document/orgapp-server/add-api-permiss…

Flutter插件开发指南02: 事件订阅 EventChannel

Flutter插件开发指南02: 事件订阅 EventChannel 视频 https://www.bilibili.com/video/BV1zj411d7k4/ 前言 上一节我们讲了 Channel 通道&#xff0c;但是如果你是卫星定位业务&#xff0c;原生端主动推消息给 Flutter 这时候就要用到 EventChannel 通道了。 本节会写一个 1~…

C++ 二维差分 二维前缀和逆运算 差分矩阵

输入一个 n 行 m 列的整数矩阵&#xff0c;再输入 q 个操作&#xff0c;每个操作包含五个整数 x1,y1,x2,y2,c &#xff0c;其中 (x1,y1) 和 (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将选中的子矩阵中的每个元素的值加上 c 。 请你将进行完所有操作后的…

mfc140u.dll文丢失导致应用程序无法正常,有哪些解决办法

mfc140u.dll是Microsoft Foundation Classes&#xff08;MFC&#xff09;的一个重要组件&#xff0c;它提供了许多用于开发Windows应用程序的功能和工具。然而&#xff0c;当系统或应用程序升级、恶意软件感染或文件损坏以及用户错误操作等情况发生时&#xff0c;mfc140u.dll文…

力扣238和169

一&#xff1a;238. 除自身以外数组的乘积 1.1题目 1.2思路 1.3代码 //左右乘表 int* productExceptSelf(int* nums, int numsSize, int* returnSize) {int* answer (int*)malloc(numsSize*sizeof(int));int i 0;int left[numsSize],right[numsSize];left[0] 1;for(i 1;…

打码半年,开源一款自定义大屏设计软件!

hi&#xff0c;大家好&#xff0c;我是Tduck马马。 最近我们开源了一款大屏软件-TReport&#xff0c;与大家分享。 TReport是一款基于Vue3技术栈的数据可视化系统&#xff0c;支持静态、动态api等数据源&#xff1b;可用于数据可视化分析、报表分析、海报设计使用。 提供自定…

☀️将大华摄像头画面接入Unity 【1】配置硬件和初始化摄像头

一、硬件准备 目前的设想是后期采用网口供电的形式把画面传出来&#xff0c;所以这边我除了大华摄像头还准备了POE供电交换机&#xff0c;为了方便索性都用大华的了&#xff0c;然后全都连接电脑主机即可。 二、软件准备 这边初始化摄像头需要用到大华的Configtool软件&#…

哈希(哈希散列数据结构)---底层原理

Day02: 1.哈希散列数据结构&#xff1a;底层实现就是&#xff1a;数组链表&#xff08;红黑树&#xff09; map的put方法和get方法。 2.数组方法和链表存取数据的区别 数组方法&#xff1a;法随机访问快 链表&#xff1a;增删改效率快。 3.哈希结合了链表和数组的特性。 …

Sora后观察:AI大模型产业落地的八个锚点

在正在进行的2024年&#xff0c;国内大模型也将更下沉和落地&#xff0c;在技术上的突破之外&#xff0c;也会出现更多的向下的产业兼容和产业实践案例&#xff0c;作为新质生产力推动产业数字化转型的航船加速前进。 作者|斗斗 编辑|皮爷 出品|产业家 “电影讲述了一名…