100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > map容器3种插入键值对的方法 – java – 前端

map容器3种插入键值对的方法 – java – 前端

时间:2021-05-06 04:48:37

相关推荐

map容器3种插入键值对的方法 – java – 前端

方法一:利用insert命令。

for(i = 0; i<nums.size();i++){

a.insert(map<int,int>::value_type(nums[i], i));

}

方法二:利用数组。

for(i = 0; i < nums.size(); i++){

a[nums[i]] = i;

}

下面大家来看一下其具体效果:

#include <iostream>

#include <map>

#include <vector>

using namespace std;

int main()

{

vector<int> nums;

map<int, int> a;

nums.push_back(3);

nums.push_back(3);

nums.push_back(11);

nums.push_back(15);

for(int i=0; i<nums.size(); i++){ // vector容器遍历

cout<<nums[i]<<” | “;

}

cout<<endl;

cout<<“——方法一—–“<<endl;

for(int i = 0; i<nums.size();i++){

a.insert(map<int,int>::value_type(nums[i], i));

}

map<int, int>::iterator iter; // 声明一个map迭代器

for(iter = a.begin(); iter != a.end(); iter++){ // map容器遍历

cout<<iter->first<<” – “<<iter->second<<endl;

}

cout<<“——方法二—–“<<endl;

a.clear(); // 清空a容器

for(int i = 0; i<nums.size();i++){

a[nums[i]] = i;

}

for(iter = a.begin(); iter != a.end(); iter++){ // map容器遍历

cout<<iter->first<<” – “<<iter->second<<endl;

}

return 0;

}

结果:

3 | 3 | 11 | 15

——方法一—–

3 – 0

11 – 2

15 – 3

——方法二—–

3 – 1

11 – 2

15 – 3

总结,map的方法一和方法二插入方法基本一样,不同之处是,当插入元素的key与map容器已有的key相同时,方法二会用key对应的新的value值更新map中存在的旧的value值,方法一会保留旧的value值。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。