c++ unorder_map的find函数与count函数的区别

c++ unorder_map的find函数与count函数的区别

  1. find函数

unorder_map中的find函数是查找key所对应的value的位置(迭代器)。

  • 若存在,则返回key所对应的value的迭代器,通过it->fisrt和it->second来获取键和值;
  • 所不存在,则返回unorder_map::end。
unordered_map<char, int>mp1{ {'a',1},{'b',2},{'c',3} };
char c = 'a';
char d = 'd';
unordered_map<char, int>::iterator it;

it = mp1.find(c);
if (it == mp1.end())
	cout << "not found" << endl;
else
	cout << it->first << "  " << it->second << endl;
	
it = mp1.find(d);
if (it == mp1.end())
	cout << "not found" << endl;
else
	cout << it->first << "  " << it->second << endl;

结果:
在这里插入图片描述

2.count函数

unorder_map中的count函数是返回key对应的value的个数的。

  • 由于unorder_map中没有相同的键,所以count函数的结果为:若有key为1,若没有key则为0。
unordered_map<char, int>mp1{ {'a',1},{'b',2},{'c',3} };
char c = 'a';
char d = 'd';
cout << mp1.count(c) << endl;
cout << mp1.count(d) << endl;

结果:
在这里插入图片描述

补充:在map中,find函数与count函数的用法一样。

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值