当前位置: 首页 > news >正文

第一百二十五回 dart中List和Map的常见用法

文章目录

  • 概念介绍
  • 使用方法
    • 初始化
    • 相互转换
    • 元素操作
  • 经验分享

我们在上一章回中介绍了Flexible组件相关的内容,本章回中将介绍 dart中的List和Map.闲话休提,让我们一起Talk Flutter吧。

概念介绍

我们在这里介绍的List也叫列表,它表示一组相同类型变量的集合。map也叫映射或者字典,它表示键值对的组合。在高级语言中都有list和map,比如Java,Swift以及Kotlin,dart也提供list,本章回中将是介绍它们的用法。为什么要在这里介绍?因为在前面章回中介绍的各种单选列表,复选列表都需要使用List,而我们在前面章回中没有介绍过List相关的知识,很多看官们希望我们介绍List相关的知识,因此才有了本章回的内容。

使用方法

初始化

List初始化可以使用中括号,在中括号内输入具体数值相当于给List赋值。还可以使用generate()方法来初始化List.

map的初始化使用大括号,在大括号内输入数值,相关于给map赋值,还可以通过List转换成map来给map赋值。下面是示例代码:

    List<int> intList = List.generate(3, (index) => index+2);List<String> strList = ['one','two','three','four','five'];Map<int,int> iMap = {1:1,2:2}; Map<int,int> intMap = intList.asMap();

相互转换

List和map可以相互转换,List转换成map时索引值从0开始,与索引值对应的value就是list中的元素的值,比如:map[key,value],list= [value...] key=index...,value=list[index];.map中的key和value可以单独转换成List.下面是示例代码:

    Map<int,int> intMap = intList.asMap();Map<int,String> strMap = strList.asMap();///map的key和value可以单独转换成listList<int> exchangeIntList = intMap.values.toList();List<int> exchangeIntListKey = intMap.keys.toList();

元素操作

List中的元素可以通过map()方法对元素进行相关操作,然后把操作后的内容再转换成List.这个功能在程序中经常使用,下面是示例代码:

    ///把List中的每个元素都加3后生成新的ListList<int> filterList = intList.map((e) => e+3).toList();///把String类型的List转换成ListTile类型的ListstrList.map((e) => ListTile(title: Text(e)),).toList();

经验分享

上面介绍的这些内容是我们在博客中经常使用的内容,建议大家自己动手去实践一下,这样才能掌握List和map的使用方法。List和map是常用的类型,它们还有很多的用法,我在这里就不详细介绍了。我的经验是:如果想使用某个功能,先看看没有现成方法,然后再查看该方法的源代码,源代码中包含有详细的说明和示例程序。依据示例程序就可以实现我们想要的功能。

看官们,与list和map相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

相关文章:

第一百二十五回 dart中List和Map的常见用法

文章目录 概念介绍使用方法初始化相互转换元素操作 经验分享 我们在上一章回中介绍了Flexible组件相关的内容&#xff0c;本章回中将介绍 dart中的List和Map.闲话休提&#xff0c;让我们一起Talk Flutter吧。 概念介绍 我们在这里介绍的List也叫列表&#xff0c;它表示一组相…...

小白到运维工程师自学之路 第七十九集 (基于Jenkins自动打包并部署Tomcat环境)2

紧接上文 4、新建Maven项目 clean package -Dmaven.test.skiptrue 用于构建项目并跳过执行测试 拉到最后选择构建后操作 SSH server webExec command scp 192.168.77.18:/root/.jenkins/workspace/probe/psi-probe-web/target/probe.war /usr/local/tomcat/webapps/ /usr/loca…...

林【2021】

三、应用 1.字符串abaaabaabaa&#xff0c;用KMP改进算法求出next和nextval的值 2.三元组矩阵 4.二叉树变森林 四、代码&#xff08;单链表递增排序&#xff0c;二叉树查找x&#xff0c;快速排序&#xff09;...

c语言练习题30:判断一个数是否为2^n

判断一个数是否为2^n 思路&#xff1a;2^n中只有一个1故可以通过n&(n-1)是否为0来判断。 代码&#xff1a;...

VX小程序 实现区域转图片预览

图例 方法一 1、安装插件 wxml2canvas npm install --save wxml2canvas git地址参照&#xff1a;https://github.com/wg-front/wxml2canvas 2、类型 // 小程序页面 let data{list:[{type:wxml,class:.test_center .draw_canvas,limit:.test_center,x:0,y:0}] } 3、数据结…...

HTML5-1-标签及属性

文章目录 语法规范标签规范标签列表通用属性基本布局 页面的组成&#xff1a; HTML&#xff08;HyperText Markup Language&#xff0c;超文本标记语言&#xff09;是用来描述网页的一种语言&#xff0c;它不是一种编程语言&#xff0c;而是一种标记语言。 HTML5 是下一代 HTM…...

5017. 垦田计划

Powered by:NEFU AB-IN Link 文章目录 5017. 垦田计划题意思路代码 5017. 垦田计划 题意 略 思路 二分最小需要几天即可 注意&#xff1a; 天数不能低于k二分时&#xff0c;若耗时天数小于mid&#xff0c;直接continue 代码 /* * Author: NEFU AB-IN * Date: 2023-08-26 22:4…...

【校招VIP】产品思维分析之面试新的功能点设计

考点介绍&#xff1a; 这种题型是面试里出现频度最高&#xff0c;也是难度最大的一种&#xff0c;需要面试者对产品本身的功能、扩展性以及行业都有一定的了解。而且分析时间较短&#xff0c;需要一定的产品能力和回答技巧。 『产品思维分析之面试新的功能点设计』相关题目及解…...

indexDB vue 创建数据库 创建表 添加对象数据

1 .open(dbName,1) 版本号可以省略 let dbName hist-data-1dconst request indexedDB.open(dbName); // 如果你不知道数据库的版本号&#xff0c;可以省略第二个参数&#xff0c;这样 indexedDB 会默认为你打开最新版本的数据库&#xff0c;因为版本号总是自增长的 2 第一次…...

Django基础1——项目实现流程

文章目录 一、前提了解二、准备开发环境2.1 创建项目2.1.1 pycharm创建2.1.2 命令创建 2.2 创建应用 例1&#xff1a;效果实现例2&#xff1a;网页展示日志文件 一、前提了解 基本了解&#xff1a; 官网Django是Python的一个主流Web框架&#xff0c;提供一站式解决方案&#xf…...

基于SSM的在线购物系统——LW模板

摘 要 人类进入21世纪以来&#xff0c;很多技术对社会产生了重大的影响。信息技术是最具代表的新时代技术&#xff0c;信息技术起源于上世纪&#xff0c;在起初的时候只是实现在单机上进行信息的数字化管理&#xff0c;随着网络技术、软件开发技术、通讯技术的发展&#xff0c;…...

Mac操作系统上设置和配置PPPoE连接

嗨&#xff0c;在使用Mac的小伙伴么&#xff01;你是否在Mac操作系统上尝试设置和配置PPPoE连接&#xff0c;却不知道怎么设置&#xff1f;别担心&#xff0c;今天我将为你一步步教你如何在Mac上进行设置和配置。无论你是新手还是有经验的用户&#xff0c;本文都将帮助你轻松完…...

Python类的属性和方法

Python类是一种面向对象编程的基本概念&#xff0c;它可以用来创建对象&#xff0c;对象可以拥有属性和方法。 属性是类的特征&#xff0c;它们用于存储对象的状态。属性可以是任何数据类型&#xff0c;例如整数、字符串、列表等。在类中&#xff0c;属性通常定义为类的变量&am…...

C#Queue<T>队列出现弹出元素被最后一次压入得元素覆盖的问题

问题代码&#xff1a; //以下为现有代码的大概描述&#xff0c;只可意会&#xff0c;不可执行&#xff01;&#xff01;&#xff01;Queue<Move> mQueue new Queue<Move>(); //该接口为下面描述线程A、线程B调用的接口 private void ActionTrigger(Move move)//M…...

python3GUI--模仿一些b站网页端组件By:PyQt5(详细介绍、附下载地址)

文章目录 一&#xff0e;前言二&#xff0e;展示1.banner1.静图2.动图 2.一般视频组件1.静图2.动图 3.排行榜1.静图2.动图 三&#xff0e;设计心得(顺序由简到难)1.排行榜2.一般视频组件3.banner 四&#xff0e;总结五&#xff0e;下载地址 一&#xff0e;前言 播客二连发&…...

聚类分析概述

聚类分析&#xff08;Cluster Analysis&#xff09;是一种无监督学习方法&#xff0c;用于将数据点划分为具有相似特征的组或簇。聚类分析的目标是使同一簇内的数据点之间的相似性最大化&#xff0c;而不同簇之间的相似性最小化。聚类分析在许多领域中都有广泛的应用&#xff0…...

建模杂谈系列234 基于图的程序改造

说明 为了进一步提升程序设计与运维的可靠性&#xff0c;我觉得&#xff08;目前看来&#xff09;只有依赖图的结构。 提升主要包含如下方面&#xff1a; 1 程序结构的简洁性&#xff1a;节点和边2 程序执行的可视化&#xff1a;交通图(红、黄、绿)3 程序支持的逻辑复杂性。…...

requestAnimationFrame(RAF)

1、RAF介绍 requestAnimateFrame&#xff08;RAF&#xff09;动画帧&#xff0c;是一个做动画的API。 如果想要一个动画流畅&#xff0c;就需要以60帧/s来更新视图&#xff0c;那么一次视图的更新就是16.67ms。 想要达到上述目标&#xff0c;可以通过setTimeout定时器来手动控…...

【JavaScript笔记】面对对象与构造函数

笔记作用 了解面向对象编程中的一般概念 能够基于构造函数创建对象 理解 JavaScript 中一切皆对象的语言特征 理解引用对象类型值存储的的特征 掌握包装类型对象常见方法的使用 一、深入对象 了解面向对象的基础概念&#xff0c;能够利用构造函数创建对象。 1. 构造函数 …...

​LeetCode解法汇总5-正则表达式匹配​

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a; 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 描述&#xff1a; 给你一棵…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...