##map

map是c++标准模板库stl的一个关联容器,提供一对一的映射关系

“第一个一”称为关键字(key),别名是first,每个关键字只能在map中出现一次

“第二个一”称为关键字的值(value),别名是second

例如·:建立一个朋友数据库表,保存多个“姓名-电话号码”的对应关系,并保存在某种数据结构中

定义一个map对象

map<string,string>friends;

把朋友以及对应的电话号码保存在friends中:

friends.insert(“Alice”,“12456777”);

friends.insert(“Bob”,“10086”);

friends.insert(“Tom”,13456789");

要查询朋友的号码,通过

cout<<“jack的电话号码是:”<<friends.find(“Jack”);

例:给出一段英文

asafgggghhjkn

统计其中的每个字母出现的次数

定义map<char,int>cnt;//把各字母的出现的次数保存在cnt中

cnt.insert(‘a’,1);

cnt.insert(‘s’,1);

cnt[‘a’]++;

cnt[‘f’]++;//取代insert动作

map以模板(泛型)的方式出现,可以存储任意类型的数据,包括使用者自定义的数据类型

如:

map<int,int>mp;//整型到整型

map<int,string>m2;//整型到字符串型

map<string,stirng>m3;//字符串型到字符串型

map<preson,int>m6;//创建一个key为person型、value为int类型的map对象

在map内部所有的数据都是有序的

map由一颗红黑树实现,这颗树具有对数据自动排序的功能

###插入元素

map<int,string>student;

方式一:用insert函数插入pair

student.insert(pair<int,string>(0,"Zhangsan"));//pair函数构造一个对象,对象由一个整型和一个字符串型组成

方式二:直接赋值

student[10]="lisi";

###查找元素

find()返回一个迭代器,指向查找的元素,找不到,则返回map::end()位置(NULL)

iter=student.find(123);//查找123关键字对应的值if(iter!=student.end())//判断迭代器是否指向end位置
{
cout<<"found,the value is"<<iter->second;
}
else
cout<<"not found"<<endl;

引用方法:

map<int,int>mpl;
int sum=100;
mpl[10]=3;//插入元素
sum+=mpl[10];//mpl中存在关键字10,它的对应值是3,所以sum累加后变为103

map.......相关推荐

  1. Map的分类和不同的应用场景

    java为数据结构中的映射定义了一个接口java.util.Map; 它有四个实现类,分别是HashMap,Hashtable,LinkedHashMap和TreeMap 可能很多人只使用过HashM ...

  2. java1.8新增超实用Map方法——Map.getOrDefault()和Map.value()方法详解

    1. Map.getOrDefault() 翻译一下官方解释: java.util.Map<K, V> V getOrDefault(Object key, V defaultValue) ...

  3. Go 学习笔记(67)— Go 并发安全字典 sync.Map

    1. 并发不安全的 map Go 语言中的 map 在并发情况下,只读是线程安全的,同时读写是线程不安全的. 换句话说,在同一时间段内,让不同 goroutine 中的代码,对同一个字典进行读写操作是 ...

  4. Python 常用内置函数map、zip、filter、reduce、enumerate

    Python 中有许多非常实用的内置函数,通过这些函数我们可以方便的实现某些功能,下面就列举一些常用的内置函数. 1. map() 函数 map() 可以根据提供的函数对指定序列做映射,它接受一个函数 ...

  5. 将request中的所有参数存放到自定义的map中

    /*** <获取参数map>* * @return 参数map* @throws Exception */protected Map<String, Object> getPa ...

  6. Map再整理,从底层源码探究HashMap

    前言 本文为对Map集合的再一次整理.内容包括:Map HashMap LinkedHashMap TreeHashMap HashTable ConcurrentHashMap Map Map< ...

  7. Java集合详解之Map

    一.首先看看集合框架体系图 从图中可以看到,Map接口扩展了Iterator接口,关于Iterator接口详解请移步:Iterator接口详解 二.Map是什么? Map<k,v>使用键值 ...

  8. 网络模型mAP计算实现代码

    网络模型mAP计算实现代码 一.mAP精度计算 这里首先介绍几个常见的模型评价术语,现在假设我们的分类目标只有两类,计为正例(positive)和负例(negtive)分别是: 1)True posi ...

  9. 2021年大数据常用语言Scala(二十二):函数式编程 映射 map

    目录 映射 | map 用法 案例一 案例二 映射  map 集合的映射操作是将来在编写Spark/Flink用得最多的操作,是我们必须要掌握的.因为进行数据计算的时候,就是一个将一种数据类型转换为另 ...

  10. 2021年大数据常用语言Scala(十八):基础语法学习 Map对象

    目录 Map对象 不可变Map 可变Map Map基本操作 Map对象 Map可以称之为映射.它是由键值对组成的集合.在scala中,Map也分为不可变Map和可变Map. 不可变Map 定义 语法 ...

最新文章

  1. 第五次课:Python 数据类型(一)
  2. C++中mutable、volatile关键字
  3. BugkuCTF-Misc:想蹭网先解开密码
  4. 汇编程序.c到a.out的生命历程
  5. 让机器学会看图说话:Image Caption任务最新综述
  6. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1123:图像相似度
  7. Bean标签范围配置
  8. Tensorflow从入门到精通之:Tensorflow基本操作
  9. C++关键字:重学记录
  10. SQLServer 2012重启服务后,自增1的标识列一次增长了1000左右
  11. mysql中外键总结_mysql外键的一些总结
  12. 检测到无效的异常处理程序例程。_异常控制流(1):异常概述和基本类型
  13. 如何在Word中输入带圈数字1-10的黑底白字和白底黑字的数字字符?
  14. 计算机网络中atm意思,atm是什么(atm什么意思)
  15. 简单A/BTest验证图片懒加载效果
  16. vue rsa加密 php解密,Vue项目中的RSA加解密
  17. 信号转换芯片-LT8911EXB MIPI CSI/DSI转EDP
  18. python tk文本框_python图形界面tk 1.5 文本框(Text box | Entry)
  19. 推荐 7 个牛哄哄的电商项目
  20. OSChina 周三乱弹 ——学哪种编程语言能保住一头秀发?

热门文章

  1. 写一份高逼格的简历,有哪些新技能呢?
  2. 凯撒密码加密解密——Java代码(密码学)
  3. [NOI2005]瑰丽华尔兹
  4. [推荐系统] 自己动手写一个推荐系统
  5. SAM BAM 和 CRAM
  6. unity 材质球无法编辑_【每天一个Unity技巧】批量修改材质球的主贴图和添加法线贴图...
  7. 计算机学院指导报告,计算机科学与工程学院举办“国际级大咖面对面指导你撰写高水平论文”专题报告会...
  8. Caused by: java.lang.ClassNotFoundException: org.aspectj.weaver.tools.PointcutDesignatorHandler
  9. 操作系统概念笔记——第六章:进程同步
  10. 【PA2015】【BZOJ4293】Siano