如何判断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()); }
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")
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯