使用例子解释C++中的map容器

Posted 山下有泽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用例子解释C++中的map容器相关的知识,希望对你有一定的参考价值。

map是一个以键值对形式存储元素的容器。它类似于Java中的集合,php中的关联数组或javascript中的对象。

下面是使用 map 的好处:

  • map 只存储唯一的key,同时这些key都是排序的

  • 由于 map 中的key都已经排序,再里面查找一个元素非常快

  • 每一个元素 key都只对应一个值

下面看一个例子:

#include <iostream>
#include <map>

using namespace std;

int main (){
  map<intint> numberValues;
  map<charint> charValues;

  //initializing

  numberValues[1]=10;
  numberValues[3]=20;
  numberValues[2]=30;
  numberValues[6]=40;

  charValues['a']=10;
  charValues['b']=20;
  charValues['c']=30;
  charValues['d']=40;

   map<intint>::iterator it1;
   map<charint>::iterator it2;

   for(it1=numberValues.begin(); it1!=numberValues.end(); ++it1){
      cout << it1->first << " => " << it1->second << '\n';
   }

   for (it2=charValues.begin(); it2!=charValues.end(); ++it2) {
       cout << it2->first << " => " << it2->second << '\n';
   }

  return 0;
}

Output

1 => 10
2 => 30
3 => 20
6 => 40
a => 10
b => 20
c => 30
d => 40

Map的基本用法

创建一个 map 对象

map<stringint> myMap;

插入

使用成员函数进行插入

myMap.insert(make_pair("money"100));
myMap.insert(make_pair("holiday"200));

同时也可以直接用 [] 操作符

myMap["money"] = 100;

访问

可以直接使用myMap["money"]访问一个特定的元素。
也可以使用如下的iterator来进行遍历。

map<charint>::iterator it1;
for(it1=numberValues.begin(); it1!=numberValues.end(); ++it1){
   cout << it1->first << " => " << it1->second << '\n';
}


以上是关于使用例子解释C++中的map容器的主要内容,如果未能解决你的问题,请参考以下文章

C++中啥是容器?可不可以具体解释一下

c++基础——关联容器

C++ 中的 map 与 hash_map

C++中set和map有啥区别

小白学习C++ 教程二十二C++ 中的STL容器stackqueue和map

小白学习C++ 教程二十二C++ 中的STL容器stackqueue和map