C++的map使用方法(一)

本文探讨了C++中map的find()和count()函数,find()返回key的迭代器,可用->second获取value,而count()返回key的出现次数。在Java中,通过map.get(key)==null或map.containsKey(key)判断key存在,get(key)获取value。此外,还指出了两者在使用上的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天了解了C++中map的以下几个方法

  • find():查找map中是否存在key值;
  • count():返回指定元素出现的次数;

关于find()函数

在c++中,find()返回的是一个迭代器,如果在map中存在这个key值,就会返回一个迭代器指向键值为 key 的元素,如果没找到就返回指向 map 尾部的迭代器。

如果你要是想返回key值对应的value值,有2种方法

  1. 可以利用find(key)->second来获取;
  2. 直接利用map[key]来获取;

注:利用map[key]有一点需要注意的是,在调用这个方法之前我们需要判断是否存在这个key值

   map<int,string> maplive;
   map<int ,string > ::iterator iter; 
   iter= maplive.find(1);
   if(iter== maplive.end()) //当map中存在这个key值的时候,就不会指向尾部的迭代器
   	   cout<<"we do not find 1"<<endl;         
   else 
       cout<<"we find 1"<<endl;

java中的map和c++中的map方法使用区别我感觉还是挺大的;
java中判断map中是否存在这个key值,可以使用map.get(key) == null,或者map.iscontains(key);
java中想获取一个key值的value值,只需要使用map.get(key)即可;


关于count()函数

count函数用于统计key值在map中出现的次数,map的key不允许重复,因此如果key存在返回1,不存在返回0

	map<int,int> m;
	if(m.count(key) > 0)
		cout << "this key is exist.";
	else
		cout << "null error!";
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值