怎么用insert函数给map容器添加元素?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用insert函数给map容器添加元素?相关的知识,希望对你有一定的参考价值。
用的是c++ map的insert方法。
函数定义:
single element (1) 插入单个元素 队尾插入
pair<iterator,bool> insert (const value_type& val);
with hint (2) 插入单个元素 在position的位置插入
iterator insert (iterator position, const value_type& val);
range (3) 插入一串元素 一般用的是另一个map中的,从开始到结束
template <class InputIterator> void insert (InputIterator first, InputIterator last);
示例:
// map::insert (C++98)#include <iostream>
#include <map>
int main ()
std::map<char,int> mymap;
// first insert function version (single parameter):第1种
mymap.insert ( std::pair<char,int>('a',100) );
mymap.insert ( std::pair<char,int>('z',200) );
std::pair<std::map<char,int>::iterator,bool> ret;
ret = mymap.insert ( std::pair<char,int>('z',500) );
if (ret.second==false)
std::cout << "element 'z' already existed";
std::cout << " with a value of " << ret.first->second << '\\n';
// second insert function version (with hint position):第2种
std::map<char,int>::iterator it = mymap.begin();
mymap.insert (it, std::pair<char,int>('b',300)); // max efficiency inserting
mymap.insert (it, std::pair<char,int>('c',400)); // no max efficiency inserting
// third insert function version (range insertion):第3种
std::map<char,int> anothermap;
anothermap.insert(mymap.begin(),mymap.find('c'));
// showing contents:
std::cout << "mymap contains:\\n";
for (it=mymap.begin(); it!=mymap.end(); ++it)
std::cout << it->first << " => " << it->second << '\\n';
std::cout << "anothermap contains:\\n";
for (it=anothermap.begin(); it!=anothermap.end(); ++it)
std::cout << it->first << " => " << it->second << '\\n';
return 0;
m1.insert(make_pair("lucy",20));改成m1.insert(make_pair(string("lucy"),20));
make_pair是std::pair的helper function,是个函数模板,根据参数确定匹配的pair的元素类型,所以LZ的用法弄出来的元素是pair<char* int>类型的。
insert函数
string& insert ( size_t pos1, const string& str, size_t pos2, size_t n );
Inserts a copy of a substring of str at character position pos1. The substring is the portion of str that begins at the character position pos2 and takes up to n characters (it takes less than n if the end of str is reached before).
string& insert ( size_t pos1, const string& str, size_t pos2, size_t n );
Inserts a copy of a substring of str at character position pos1. The substring is the portion of str that begins at the character position pos2 and takes up to n characters (it takes less than n if the end of str is reached before).
如何向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集合里传入的是键值对,是两个相对应的值,因此Map集合需要传入两个值。
关于上面的那个“<String, Object>”,称之为“泛型”,
泛型规定了该Map集合的Key只能是前面的那个类型(我这里是定义的String),
而value只能是后面的那个类型(我定义的是Object)。
特别说明一下,两个类型都能传对象。
1、添加数据
testMap.put("key", "value这是我输入的值");
2、取出数据
testMap.get("key");
这里的get方法是通过key值找到value值的。
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,有中文的
关于怎么使用的问题一般都能找到
以上是关于怎么用insert函数给map容器添加元素?的主要内容,如果未能解决你的问题,请参考以下文章
用javascript获取HTML的button元素的id后,怎么使用javascript给这个元素添加响应函数