天天看点

C++知识点(18) unordered_map

unorder_map是基于哈希表实现,不允许有重复的key值。

(1) find()

iterator find(const key_type &key)

如果key存在,则find返回key对应迭代器,通过迭代器的second获取值;

如果key不存在,则返回unordered_map::end();因此可以通过map.find(key)==map.end()来判断key是否存在于unordered_map中。

(2)count()

size_type count(const key_type &key) const

count用于统计key值在unordered_map中出现的次数。实际上,unordered_map不允许有重复的key值,因此如果key存在,返回1;不存在,返回0。

(3)可以使用[]访问key对应的值map[key]。如果该key不存在,则C++会自动创建这个key,并把map[key]=0;

继续阅读