map
é um contêiner que armazena elementos em pares chave-valor. Ele é semelhante às collections em Java, aos arrays associativos em PHP, ou aos objetos em JavaScript.
Aqui temos os benefícios principais do uso de map
:
map
armazena apenas chaves exclusivas. Essas chaves são armazenadas de maneira ordenada- Como as chaves já estão ordenadas, procurar por um elemento é muito rápido
- Existe apenas um valor para cada chave
Aqui temos um exemplo:
#include <iostream>
#include <map>
using namespace std;
int main (){
map<char,int> first;
//initializing
first['a']=10;
first['b']=20;
first['c']=30;
first['d']=40;
map<char, int>::iterator it;
for(it=first.begin(); it!=first.end(); ++it){
cout << it->first << " => " << it->second << '\n';
}
return 0;
}
Resultado:
a => 10
b => 20
c => 30
d => 40
Criação de um objeto map
map<string, int> myMap;
Inserção
A inserção de dados com a função insert.
myMap.insert(make_pair("earth", 1));
myMap.insert(make_pair("moon", 2));
Também podemos inserir dados em std::map usando o operador [], ou seja
myMap["sun"] = 3;
Acesso aos elementos de map
Para acessar os elementos de map
, você precisa criar um iterator
. Aqui temos um exemplo, como mostramos acima.
map<char, int>::iterator it;
for(it=first.begin(); it!=first.end(); ++it){
cout << it->first << " => " << it->second << '\n';
}