Please tell me the difference

There are many ways to check in c++ whether any element x is present in the HashMap or not. I just want to know the difference between these two :

unordered_map<int, int> ump;
ump[1]++;
ump[2]++;

Now if I want to know whether ump contains 3 or not. So we can do,
if(ump[3] == 0){
cout<<“HashMap doesn’t contains 3”;
}
/or****/
if(ump.count() == 0){
cout<<“HashMap doesn’t contain 3”;
}
/or****/
if(ump.find() == ump.end()){
cout<<“HashMap doesn’t contain 3”;
}

Please can anyone tell me what is the difference between the above 3 statements?