如何向Map中添加数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何向Map中添加数据相关的知识,希望对你有一定的参考价值。

向Map中添加数据的步骤如下:

1.首先使用insert方式插入三组数据到map容器中,然后遍历打印容器中存放的数据。

2.从输出的结果看,三组数据成功存放到map容器。

3.接下来仍然使用insert方式,但是插入的是value_type的数据。

4.从输出结果看,采用插入value_type数据显示现象与前一种方式是相同。这样就解决了向Map中添加数据的问题了。

参考技术A 你是做数据地图吗?我可以给你介绍一种新的方法,你试试,主要是用Finereport。

首先,数据准备
新建2个数据查询,一个用做地图的数据源 ,一个用做折线图的数据源。
ds1:SQLSELECT avg(指数) as 平均指数,城市 FROM map_XX市数据 group by 城市。
ds2:SQLSELECT * FROM map_XX市数据 where 城市=’$city’,参数默认值为XXX。
接下来,我们要自定义地图报表
合并一片单元格,点击菜单栏中的插入>单元格元素>插入图表,选择地图,点击确定。
地图类型
如果我们要制作的地图是XX市地图,但是XX市地图并不在我们内置地图中,这个时候就可以使用自定义地图了。
点击选中刚刚插入的地图,在右侧上方的属性面板中选择图表属性表-类型,点击按钮,选中添加自定义地图
选中新建好的自定义地图图表,选择编辑图片区域
在弹出的对话框中导入准备好的地图图片
注:导入支持的图片类型:gif,png,jpg,bmp。
地图图片要求:需要有点选地图上某块区域的效果,那么提供的地图上要需要有清晰的区域边线,并且区域边线的颜色要统一,如全是黑色,区域内模块为纯色,不能包含有其他内容。
双击地图图片中的每一块区域,将其命名,可以直接选取数据库中的,也可以直接手动书写,命名好之后,点击保存
所有区域都添加完成之后,点击确定,回到图表属性面板,再次点击,可编辑自定义地图名称,我们这里将自定义地图命名为XX市地图
到此,XX市地图报表则定义好了,属性表的地图列表中有了XX市地图,可以用在任意报表中。
参考技术B

我给你写个小例子。

Map<String, Object> testMap = new HashMap<String, Object>();


先跟你说一下这个格式,
Map集合里传入的是键值对,是两个相对应的值,因此Map集合需要传入两个值。
关于上面的那个“<String, Object>”,称之为“泛型”,
泛型规定了该Map集合的Key只能是前面的那个类型(我这里是定义的String),
而value只能是后面的那个类型(我定义的是Object)。
特别说明一下,两个类型都能传对象。

1、添加数据
 testMap.put("key", "value这是我输入的值");
2、取出数据
 testMap.get("key");
  这里的get方法是通过key值找到value值的。

参考技术C 我给你写个小例子。

1

Map<String, Object> testMap = new HashMap<String, Object>();

先跟你说一下这个格式,Map集合里传入的是键值对,是两个相对应的值,因此Map集合需要传入两个值。关于上面的那个“<String, Object>”,称之为“泛型”,泛型规定了该Map集合的Key只能是前面的那个类型(我这里是定义的String),而value只能是后面的那个类型(我定义的是Object)。特别说明一下,两个类型都能传对象。1、添加数据 testMap.put("key", "value这是我输入的值");2、取出数据 testMap.get("key"); 这里的get方法是通过key值找到value值的。
参考技术D Map是个接口,有多个实现类,最常用的是HashMap
放入方法如下
Map map = new HashMap();
map.put("key",value);
建议您多看看API,有中文的
关于怎么使用的问题一般都能找到

不断向地图添加数据

【中文标题】不断向地图添加数据【英文标题】:Continuously add data to Map 【发布时间】:2018-08-23 18:39:03 【问题描述】:

我需要在 for...loop 之前向 Map 或 HashMap 添加数据,在 for...loop 期间向 Map 添加数据,然后在循环之后使用所有数据创建文档。

我在 Java for Android 中使用过:

Map<String, Object> createDoc = new HashMap<>();
    createDoc.put("type", type);
    createDoc.put("title", title);
for (int x = 0; x < sArray.size(); x++) 
    createDoc.put("data " + x,sArray.get(x));

firebaseFirestoreDb.collection("WPS").add(createDoc);

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

我在 Dart 中发现的唯一内容是:

Map<String, Object> stuff = 'title': title, 'type': type;

在 for...循环中:

stuff = 'docRef $x': docId;

在for...循环之后:

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

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

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

Map<String, Object> newMap = new HashMap<>();

我收到错误:"A value of type 'HashMap' can't be assigned to a variable of type 'Map&lt;String, Object&gt;'"

提前谢谢你!

【问题讨论】:

【参考方案1】:

与您用 Java 编写的 Dart 代码块等效的是:

Map<String, Object> createDoc = new HashMap();
createDoc['type'] = type;
createDoc['title'] = title;
for (int x = 0; x < sArray.length; x++) 
  createDoc['data' + x] = sArray[x];

当然,Dart 有type inference 和collection literals,所以我们可以对两者使用更简写的语法。让我们从上面写完全一样的东西,但要多一些 Dart (2) 习语:

var createDoc = <String, Object>;
createDoc['type'] = type;
createDoc['title'] = title;
for (var x = 0; x < sArray.length; x++) 
  createDoc['data' + x] = sArray[x];

好的,这更好,但仍然没有使用 Dart 提供的所有东西。我们可以使用 map 字面量来代替多写两行代码,甚至可以使用string interpolation:

var createDoc = 
  'type': type,
  'title': title,
;
for (var x = 0; x < sArray.length; x++) 
  createDoc['data$x'] = sArray[x];


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

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

'地图'`"

在 Dart 中没有 new HashMap&lt;&gt; 这样的语法。没有它,类型推断就可以工作,所以你可以写Map&lt;String, Object&gt; map = new HashMap(),或者像我上面的例子一样,var map = &lt;String, Object&gt; ,或者更好的是var map = 'type': type ,它将根据键和值为你输入映射。

希望对你有帮助!

【讨论】:

感谢您展示了不同的方法!我很感激,这将有助于前进。 小心使用var!如果typetitle 是同一类型,则创建的Map 将仅指定为此类型。改用Map&lt;String, dynamic&gt; createDoc = /*init map*/,以便能够在进一步处理中使用任何类型作为数据

以上是关于如何向Map中添加数据的主要内容,如果未能解决你的问题,请参考以下文章

如何向 map(pd_read_csv) 添加其他参数?

如何使用 Java UDF 向 Spark 数据框添加新列

java中如何使用map存取数据

如何向 google_map_location_picker 添加语言环境支持? (扑)

向数据框添加列并在 pyspark 中更新

如何使用Java UDF将新列添加到Spark数据帧