当前位置: 首页 > 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; 给你一棵…...

SMUDebugTool:深度掌控AMD Ryzen系统的硬件调试利器

SMUDebugTool&#xff1a;深度掌控AMD Ryzen系统的硬件调试利器 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitc…...

从原始数据到三维点云:TI毫米波雷达信号处理全链路拆解

1. 毫米波雷达基础与TI设备特性 毫米波雷达作为现代感知技术的核心组件&#xff0c;其工作原理类似于蝙蝠的生物声呐系统&#xff0c;只不过使用的是电磁波而非声波。TI&#xff08;德州仪器&#xff09;的AWR系列雷达设备因其高性价比和完整开发生态&#xff0c;成为工业界的热…...

Python结合OCR技术实现高效发票信息提取与自动化处理

1. 为什么需要自动提取发票信息&#xff1f; 每次月底整理报销单据的时候&#xff0c;你是不是也经常对着堆积如山的发票发愁&#xff1f;一张张手动录入发票号码、金额、开票日期&#xff0c;不仅效率低下还容易出错。我去年在一家电商公司做财务系统优化时&#xff0c;发现财…...

Codex CLI 多环境配置秘籍:如何用 profiles 一键切换 OpenAI/Mistral/Ollama

Codex CLI 多环境配置秘籍&#xff1a;如何用 profiles 一键切换 OpenAI/Mistral/Ollama 当你的开发工作流需要同时对接多个AI模型提供商时——比如公司项目使用OpenAI的GPT-4&#xff0c;个人实验采用本地Ollama托管的Mistral&#xff0c;而临时调试又需要连接Azure的API端点—…...

93%记忆精度的颠覆性突破:智能记忆系统如何重构AI认知能力

93%记忆精度的颠覆性突破&#xff1a;智能记忆系统如何重构AI认知能力 【免费下载链接】EverOS EverMemOS is an open-source, enterprise-grade intelligent memory system. Our mission is to build AI memory that never forgets, making every conversation built on previ…...

别再死记公式了!用Python的SymPy库5分钟搞定雅可比矩阵计算(附机器人学实例)

用SymPy解放双手&#xff1a;5分钟完成雅可比矩阵的符号计算与机器人学应用 记得研究生时期推导机械臂动力学方程&#xff0c;我曾在草稿纸上密密麻麻写满三页偏导数&#xff0c;最后发现一个正负号错误导致全部重算。直到遇见SymPy——这个Python符号计算库彻底改变了我的工作…...

SD 协议

1、SD 协议科普 SD 协议的全称是 Secure Digital (SD) Interface Protocol&#xff0c;它是由 SD 协会&#xff08;SDA&#xff0c;Secure Digital Association&#xff09; 制定的一套标准。 eMMC、SD、SDIO 的关系&#xff1a; SD 卡的协议最初是基于 MMC&#xff08;MultiM…...

Stable-Diffusion-v1-5-archive镜像免配置部署:7860端口直连实操手册

Stable-Diffusion-v1-5-archive镜像免配置部署&#xff1a;7860端口直连实操手册 想体验经典AI绘画的魅力&#xff0c;又不想折腾复杂的本地环境&#xff1f;今天&#xff0c;我们就来手把手教你如何通过一个预置好的镜像&#xff0c;零配置、一键式地启动Stable Diffusion v1…...

因果模型评估完全手册:Python指标与验证方法详解

因果模型评估完全手册&#xff1a;Python指标与验证方法详解 【免费下载链接】python-causality-handbook 项目地址: https://gitcode.com/gh_mirrors/py/python-causality-handbook 在数据分析和决策科学领域&#xff0c;因果推断模型的评估是确保模型可靠性与实用性的…...

LLaMA-Omni代码贡献指南:如何参与这个开源语音AI项目

LLaMA-Omni代码贡献指南&#xff1a;如何参与这个开源语音AI项目 【免费下载链接】LLaMA-Omni LLaMA-Omni is a low-latency and high-quality end-to-end speech interaction model built upon Llama-3.1-8B-Instruct, aiming to achieve speech capabilities at the GPT-4o l…...