热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

不断向Map添加数据

如何解决《不断向Map添加数据》经验,为你挑选了1个好方法。

我需要在for ...循环之前将数据添加到Map或HashMap,在for ...循环期间将数据添加到Map,然后在循环之后创建包含所有数据的文档.

在Java for Android中我用过:

Map createDoc = new HashMap<>();
    createDoc.put("type", type);
    createDoc.put("title", title);
for (int x = 0; x 

我的问题是,我如何创建文档并立即获取它的ID然后更新/合并其余的数据?或者有没有办法将数据添加到Dart中的Map?

我在Dart找到的唯一一件事是:

Map stuff = {'title': title, 'type': type};

并在for ...循环中:

stuff = {'docRef $x': docId};

并在for ...循环之后:

Firestore.instance.collection('workouts').add(stuff);

这将创建一个仅包含for ...循环中最后一个条目的文档.

我还导入了dart:collection来使用HashMap,但它不会让我使用

Map newMap = new HashMap<>();

我收到错误:"A value of type 'HashMap' can't be assigned to a variable of type 'Map'"

先感谢您!



1> matanlurey..:

与您在Java中为Dart编写的代码相同的代码块是:

Map createDoc = new HashMap();
createDoc['type'] = type;
createDoc['title'] = title;
for (int x = 0; x 

当然,Dart具有类型推断和集合文字,因此我们可以使用更简洁的语法.让我们从上面写出完全相同的东西,但是还有更多的Dart(2)成语:

var createDoc = {};
createDoc['type'] = type;
createDoc['title'] = title;
for (var x = 0; x 

好吧,那更好,但仍然没有使用Dart提供的所有东西.我们可以使用map literal而不是再写两行代码,我们甚至可以使用字符串插值:

var createDoc = {
  'type': type,
  'title': title,
};
for (var x = 0; x 


我还导入了dart:collection来使用HashMap,但它不会让我使用

Map newMap = new HashMap<>(); I get the error: `"A value of type 'HashMap' can't be assigned to a variable of type

"Map'`"

new HashMap<>Dart中没有这样的语法.类型推断在没有它的情况下工作,所以你可以写Map map = new HashMap(),或者像上面的例子一样,var map = {}甚至更好,var map = { 'type': type }它将根据键和值为你键入地图.

我希望有所帮助!


推荐阅读
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • HashMap的相关问题及其底层数据结构和操作流程
    本文介绍了关于HashMap的相关问题,包括其底层数据结构、JDK1.7和JDK1.8的差异、红黑树的使用、扩容和树化的条件、退化为链表的情况、索引的计算方法、hashcode和hash()方法的作用、数组容量的选择、Put方法的流程以及并发问题下的操作。文章还提到了扩容死链和数据错乱的问题,并探讨了key的设计要求。对于对Java面试中的HashMap问题感兴趣的读者,本文将为您提供一些有用的技术和经验。 ... [详细]
  • Conflictwithfirebase11.8.0andgoogle-servicesplugin3.1.2 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 我们很高兴地宣布,GoogleDevelopers中国网站(developers.google.cn)正式发布!GoogleDevelopers中国网站 ... [详细]
  • Idlikeforthenewsessiontoessentiallylogoutofanyprevioussession.Forexample,whenyou ... [详细]
author-avatar
遁高攀_179
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有