Flutter循序渐进==>数据结构(列表、映射和集合)和错误处理
导言
填鸭似的教育确实不行,我高中时学过集合,不知道有什么用,毫无兴趣,等到我学了一门编程语言后,才发现集合真的很有用;可以去重,可以看你有我没有的,可以看我有你没有的;列表是我最喜欢的数据结构,我最喜欢把列表和元组结合起来用,比如[(张飞,刘备集团),(贾诩,曹操集团)]。映射,也就是Python里面的字典,也是我的最爱之一!让学习变得有趣起来,就用三国混战来举例吧!
列表映射和集合出场

错误处理
//叫一个没来的将领,会发生什么?
try{String myGengeral = generalInfo['马超'];
}catch(e){print('出错:$e');
}
出错:type 'Null' is not a subtype of type 'String'
代码
void main(){print('***************************列表**********************************');List<String> generals = ['赵云','吕布','典韦','夏侯惇','赵云'];String liubeiGroup = generals[0];print('刘备集团将领有:$liubeiGroup');//典韦要保护曹操的,换曹仁出场generals[2] = '曹仁';print('曹操换人后,出场混战的将领有:$generals');//孙权说:“你们又不带我玩?我要派甘宁来参加!”generals.add('甘宁');print('孙权加人后,出场混战的将领有:$generals');//曹操说:“像吕布这种小人,不要让他入场,必须德才兼备才有资格入场!”generals.remove('吕布');print('移除人品差的后,出场混战的将领有:$generals');//组委会主席汉献帝说:“让我统计下参赛选手数量,听我念名单依次入场!”print('汉献帝宣布:总决赛出场混战的将领总共有:${generals.length}位!');for (String general in generals){print('请入场:$general!');}print('***************************映射**********************************');Map<String,dynamic> generalInfo = {'名字':'赵云','公司':'刘备集团','性别':'男',};print('性别有点多余');generalInfo.remove('性别');print(generalInfo);print('第一个出场的是${generalInfo['名字']}');//自我介绍了说了名字么?print('${generalInfo.containsKey('名字')}');List<String> keys = generalInfo.keys.toList();print(keys);List<dynamic> values = generalInfo.values.toList();print(values);generalInfo.forEach((key,value){print('$key:$value');});print('***************************集合**********************************');Set<String> newGenerals = {'刘备','张飞','关羽','关羽'};print(newGenerals);//上面那个列表里面,赵云报了两次名,这是不行的List<String> uniGenerals = generals.toSet().toList();print(uniGenerals);}
相关文章:
Flutter循序渐进==>数据结构(列表、映射和集合)和错误处理
导言 填鸭似的教育确实不行,我高中时学过集合,不知道有什么用,毫无兴趣,等到我学了一门编程语言后,才发现集合真的很有用;可以去重,可以看你有我没有的,可以看我有你没有的…...
泛微E9开发 限制明细表列的值重复
限制明细表列的值重复 1、需求说明2、实现方法3、扩展知识点3.1 修改单个字段值(不支持附件类型)3.1.1 格式3.1.2 参数3.1.3 案例 3.2 获取明细行所有行标示3.2.1 格式3.2.2 参数说明 1、需求说明 限制明细表的“类型”字段,在同一个流程表单…...
magicapi导出excel
参考:Hutool参考文档 response模块 | magic-api import response;import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map;import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; …...
【秋招突围】2024届秋招笔试-科大讯飞笔试题-03-三语言题解(Java/Cpp/Python)
🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系计划跟新各公司春秋招的笔试题 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📧 清隆这边…...
springboot是否可以代替spring
Spring Boot不能直接代替Spring,但它是Spring框架的一个扩展和增强,提供了更加便捷和高效的开发体验。以下是关于Spring Boot和Spring关系的详细解释: Spring框架: Spring是一个广泛应用的开源Java框架,提供了一系列模…...
基于SpringBoot的CSGO赛事管理系统
您好!我是专注于计算机技术研究的码农小野。如果您对CSGO赛事管理系统感兴趣或有相关开发需求,欢迎随时联系我。 开发语言:Java 数据库:MySQL 技术:SpringBoot框架,Java技术 工具:Eclipse&a…...
使用 Selenium 实现自动化分页处理与信息提取
目录 项目背景与目标Selenium 环境配置分页处理的基本思路简化后的代码示例总结 正文 1. 项目背景与目标 在进行 Web 自动化测试或数据抓取时,处理分页是一个常见的需求。通过 Selenium,我们可以自动化浏览多个分页并提取每页上的信息。本文将介绍如…...
现代信息检索笔记(二)——布尔检索
目录 信息检索概述 IR vs数据库: 结构化vs 非结构化数据 结构化数据 非结构化数据 半结构化数据 传统信息检索VS现代信息检索 布尔检索 倒排索引 一个例子 建立词项(可以是字、词、短语、一句话)-文档的关联矩阵。 关联向量 检索效果的评价 …...
使用Python实现学生管理系统
文章目录 1. 系统概述2. 系统功能3. 实现细节3.1 初始化学生列表3.2 添加学生3.3 显示所有学生3.4 查找学生3.5 删除学生3.6 主菜单 4. 运行系统 在本文中,我们将使用Python编程语言来开发一个简单的学生管理系统。该系统将允许用户执行基本的学生信息管理操作&…...
【嵌入式DIY实例】- LCD ST7735显示DHT11传感器数据
LCD ST7735显示DHT11传感器数据 文章目录 LCD ST7735显示DHT11传感器数据1、硬件准备与接线2、代码实现本文介绍如何将 ESP8266 NodeMCU 板 (ESP-12E) 与 DHT11 (RHT01) 数字湿度和温度传感器连接。 NodeMCU 从 DHT11 传感器读取温度(以 C 为单位)和湿度(以 rH% 为单位)值,…...
基于Tools体验NLP编程的魅力
大模型能理解自然语言,从而能解决问题,但是就像人类大脑一样,大脑只能发送指令,实际行动得靠四肢,所以LangChain4j提供的Tools机制就是大模型的四肢。 大模型的不足 大模型在解决问题时,是基于互联网上很…...
强化学习-3深度学习基础
文章目录 1 强化学习与深度学习的关系2 线性回归3 梯度下降4 逻辑回归5 全连接网络6 更高级的神经网络6.1 卷积神经网络6.2 循环神经网络6.3 transformer 将深度学习和强化学习结合起来,利用深度学习网络强大的拟合能力通过将状态、动作等作为输入,来估计…...
SOC模块LoRa-STM32WLE5有哪些值得关注
SoC 是片上系统的缩写,是一种集成芯片,集成了计算机或其他电子系统的所有或大部分组件。这些组件通常包括中央处理器 (CPU)、内存、输入/输出接口和辅助存储接口。包含数字、模拟、混合信号和通常的 RF 信号处理功能,具体取决于应用。片上系统…...
CSS中的display属性:布局控制的关键
CSS的display属性是控制元素在页面上如何显示的核心属性之一。它决定了元素的显示类型,以及它在页面布局中的行为。本文将详细介绍display属性的不同值及其使用场景,帮助你更好地掌握布局控制。 display属性的基本值 block 特点:块级元素&…...
【Spring Boot AOP通知顺序】
文章目录 一、Spring Boot AOP简介二、通知顺序1. 通知类型及其顺序示例代码 2. 控制通知顺序示例代码 一、Spring Boot AOP简介 AOP(Aspect-Oriented Programming,面向切面编程)是对OOP(Object-Oriented Programming,…...
k8s是什么
1、k8s出现的背景: 随着服务器上的应用增多,需求的千奇百怪,有的应用不希望被外网访问,有的部署的时候,要求内存要达到多少G,每次都需要登录各个服务器上执行操作更新,不仅容易出错,…...
使用雪花算法(Snowflake Algorithm)在Python中生成唯一ID
使用雪花算法Snowflake Algorithm在Python中生成唯一ID 使用雪花算法(Snowflake Algorithm)在Python中生成唯一ID雪花算法简介Python实现代码解析使用示例优势注意事项适用场景结论 使用雪花算法(Snowflake Algorithm)在Python中生…...
Docker期末复习
云计算服务类型有: IaaS 基础设施及服务 PaaS 平台及服务 SaaS 软件及服务 服务类型辨析示例: IaaS 服务提供的云服务器软件到操作系统,具体应用软件自己安装,如腾讯云上申请的云服务器等;SaaS提供的服务就是具体的软件,例如微软的Office套件等。 云计算部署模式有: 私有云…...
DP:子数组问题
文章目录 引言子数组问题介绍动态规划的基本概念具体问题的解决方法动态规划解法:关于子数组问题的几个题1.最大子数组和2.环形子数组的最大和3.乘积最大子数组4.乘积为正数的最长子数组长度5.等差数列划分 总结 引言 介绍动态规划(DP)在解决…...
[Day 20] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
AI在醫療領域的創新應用 隨著科技的快速發展,人工智能(AI)在各行各業的應用越來越廣泛,醫療領域也不例外。AI技術在醫療中的應用不僅提高了診斷的準確性,還改善了病患的治療效果,優化了醫療資源的配置。本…...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...
