谈谈map中的count方法

map和set两种容器的底层结构都是红黑树,所以容器中不会出现相同的元素,因此count()的结果只能为0和1,可以以此来判断键值元素是否存在(当然也可以使用find()方法判断键值是否存在)。

拿map<key,value>举例,find()方法返回值是一个迭代器,成功返回迭代器指向要查找的元素,失败返回的迭代器指向end。count()方法返回值是一个整数,1表示有这个元素,0表示没有这个元素。

#include<iostream>
#include<map>
#include<string>
using namespace std;

int main()
{
    map<int,string>maps;
    if(maps.find(1)==maps.end())
    {
        cout<<"没有1这个元素"<<endl;
    }
    if(maps.count(1)==0)
    {
        cout<<"没有1这个元素"<<endl;
    }
    //添加元素1
    maps[1]="one";

    if(maps.find(1)!=maps.end())
    {
        cout<<"有1这个元素"<<endl;
    }
    if(maps.count(1))
    {
        cout<<"有1这个元素"<<endl;
    }
    return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏超然的博客

ECMAScript 6 笔记(三)

  ES6 的写法还有两个好处:首先,阅读代码的人,可以立刻意识到哪些参数是可以省略的,不用查看函数体或文档;其次,有利于将来的代码优化,即使未来的版本在对外接...

902
来自专栏Android Note

Java 8之lambda表达式(一)

1053
来自专栏机器学习从入门到成神

C++指针与引用的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

2041
来自专栏互联网杂技

Javascript获取数组中的最大值和最小值的方法汇总

比较数组中数值的大小是比较常见的操作,下面同本文给大家分享四种放哪广发获取数组中最大值和最小值,对此感兴趣的朋友一起学习吧 比较数组中数值的大小是比较常见的操作...

2705
来自专栏黄Java的地盘

正则表达式之入门篇

本文主要通过对正则表达式的语法进行一些简单的介绍,从而让没有接触过或者想学习正则表达式的同学有一个基础的了解,从而能够看懂和编写使用一般的正则表达式。

1291
来自专栏猿人谷

C语言指针5分钟教程

指针、引用和取值 什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量。在这份教程里“引用”表示计算机内存地址。从指针指向的内 存...

2535
来自专栏web前端

JavaScript基础学习--14 json、数组

Demos:   https://github.com/jiangheyan/JavaScriptBase 一、json      1、格式与取值:{key:...

26410
来自专栏程序员互动联盟

【C语言系列】C语言数组

一、数组的概念 用来存储一组数据的构造数据类型 特点:只能存放一种类型的数据,如全部是int型或者全部是char型,数组里的数据成为元素。 二、数组的定义 格式...

3946
来自专栏python成长之路

列表常用操作

1784
来自专栏我爱编程

Day16正则表达式

正则表达式(Regular Expression)的主要功能是从字符串(string)中通过特定的模式,搜索希望找到的内容。比如想找到小说中的所有人名,找到字符...

2998

扫码关注云+社区

领取腾讯云代金券