永发信息网

如何判断map中是否有某个key

答案:2  悬赏:40  手机版
解决时间 2021-12-30 10:07
  • 提问者网友:疯孩纸
  • 2021-12-29 16:16
如何判断map中是否有某个key
最佳答案
  • 五星知识达人网友:污到你湿
  • 2021-12-29 16:44
首先,不推荐使用[]来判断key是否存在,因为使用操作符[]会向map容器里插入一个元素。 map的operator[]重载大致是这样一个内容:
data_type& operator[]( const key_type& k ){value_type v(k, data_type());
iterator it = insert(v).first;
} 大致是这样,如果没有找到的话就插入一个,然后返回它的second。 正确的判断方法是使用map的find函数,由于map是一个红黑树,find的时间复杂度是logn,可以接受。 bool i***ist(conststring& keyname) { return( mregistrymap.find(keyname)!= mregistrymap.end()); }
全部回答
  • 1楼网友:躲不过心动
  • 2021-12-29 17:26
java 中有时候会遇到判断传过来的map里是否包含了指定的key,我目前只发现两种办法: 一种是: HashMap map = new HashMap(); map.put("1", "value1"); map.put("2", "value2"); Iterator keys = map.keySet().iterator(); while(keys.hasNext()){ String key = (String)keys.next(); if("2".equals(key)){ System.out.println("存在key"); } } 第二种: boolean flag=map.containsKey("opt")
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯