본문 바로가기

Programming

How to use map in c++ STL, c++ 맵 STL 사용방법/초기화/예제, java, example, sample, library, find, insert, first

How to use map in c++ STL, c++ 맵 STL 사용방법/초기화/예제, java, example, sample, library, find, insert, first




 간단하게 자주 사용하는 것만 확인해보고 예제를 만들었다.


at / find / insert / initialize / erase / begin



I checked simple things what i use sometimes, and made example code for find function.





 - I put the find() sample in example code.


- Initialize map


map<int, int> tempMap;




- how to put key & value in the map


tempMap.insert(pair<int, int>(1, 1));


Use insert function using pair object 




- how to get value using key


tempMap.at(keyValue) 


If it doesn't have that key, it will dead





- how to erase key & value using key


tempMap.erase(2);


Put the key and erase that pair




- how to get first key & value in the map


Get key : tempMap.begin()->first

Get value : tempMap.begin()->second


begin() to get first pair. In pair node, first means key, second means second.






 - 맵 안에 찾는 값이 있는지 확인 하는 방법은 예제에 넣어두었다. (find)


-  맵을 초기화 하는 것은


map<int, int> tempMap;


std::map 을 써주고, <key, value> 맵에 들어갈 키와 값 자료형 타입을 써주고 변수명을 써준다.




- 맵 안에 key , value 를 넣는 방법은


tempMap.insert(pair<int, int>(1, 1));


맵에 insert 를 해주는데, pair 덩어리를 만들어서 넣어준다. 마찬가지로 자료형을 써주고 값을 넣으며 초기화하며 넣는다.




- 맵 안에서 key 값으로 value 를 가져오는 방법은


tempMap.at(keyValue) 로 찾을 수 있는데, 만약 해당 key 값이 없다면 뻑난다.




- 맵 안에서 key value 를 지우는 방법은


tempMap.erase(2);


key 값을 넣어서 해당 pair 를 지울 수 있다.




- 맵 안의 가장 첫번째 key 나 value 를 가져오는 방법은


키를 가져올 때 : tempMap.begin()->first

값을 가져올 때 : tempMap.begin()->second


begin() 으로 제일 첫번째 pair 노드를 가져오고, pair 에서 first 는 키를 의미하고 / second 는 값을 의미한다.





e.g. 


#include <iostream>

#include <string>

#include <map>


using namespace std;



class Solution {

public:

void example(int searchNumber) {


map<int, int> tempMap;


tempMap.insert(pair<int, int>(1, 1));

tempMap.insert(pair<int, int>(2, 2));

tempMap.insert(pair<int, int>(3, 3));


auto search = tempMap.find(searchNumber);


if (search != tempMap.end()) { // if it has searchNumber

cout << "Key : " << search->first << "\t" << "Value : " << search->second << endl;

}

else // if it doesn't have searchNumber

{

cout << "It doesn't have searchNumber" << endl;

}

}

};



int main(int argc, char *argv[]) {


Solution sln;

int searchNum = 2;

sln.example(searchNum);


}





Something else you might like...?




2019/02/04 - [Programming/C++] - How to add DLL / external lib file to VisualStudio, 비주얼스튜디오 외부라이브러리 dll 파일 추가 방법, example, c++ java api

2019/01/31 - [Programming/Java] - How to convert Decimal to Hexa, 10진수 숫자 16진수 숫자로 변환/바꾸기, Java c++, example, code


2019/01/29 - [Programming/Programming Language] - 클린코딩/더 나은 코딩을 하는 10가지 방법, 10 Tips for clean code/ better code/ quality code.


2019/01/30 - [Programming/Software Architecture] - What is Object Oriented Design/Artchitecture? 객체지향 디자인/설계란? java,c++,softwareArchitecture,designPattern


2018/12/28 - [Programming/Software Architecture] - Perfecting OO's Small Classes and Short Methods. 완벽한 객체지향의 작은 클래스와 짧은 메소드, Book:ThoughtWorks Anthology, Java,cpp,자바,oop,좋은코드,객체지향프로그래밍 - (#9, Tell, Don't Ask)

2018/12/26 - [Programming/Software Architecture] - Perfecting OO's Small Classes and Short Methods. 완벽한 객체지향의 작은 클래스와 짧은 메소드, Book:ThoughtWorks Anthology, Java,cpp,자바,oop,좋은코드,객체지향프로그래밍 (1)



2019/01/12 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #60 sudoku. Algorithm,알고리즘,Codefights,CodeSignal,코드파이트,코드시그널,예제,문제해결능력,example,c++,java,재귀,recursive

2019/01/12 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #59 spiralNumbers. Algorithm,알고리즘,Codefights,CodeSignal,코드파이트,코드시그널,예제,문제해결능력,example,c++,java,재귀,recursive

2019/01/08 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #58 messageFromBinaryCode. Algorithm,알고리즘,Codefights,CodeSignal,코드파이트,코드시그널,예제,문제해결능력,example,c++,java,재귀,recursive

2019/01/07 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #57 fileNaming. Algorithm,알고리즘,Codefights,CodeSignal,코드파이트,코드시그널,예제,문제해결능력,example,c++,java,재귀,recursive

2019/01/04 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #56 digitsProduct. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제,문제해결능력,example, c++ java c# scalar

2019/01/04 - [Algorithm/Code Fights (Code Signal)] - Aracade Intro #55 differentSquares. Algorithm, 알고리즘, Codefights, CodeSignal, 코드파이트, 코드시그널, 예제,문제해결능력,example, c++ java c# scalar