##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. 京东运营插件_技术中台产品经理必知的那些易混词儿(1):组件、套件、 中间件、插件……...
  2. 如何不停机迁移一个mysql INNODB 数据库?
  3. python同时同步发送多个请求_python如何实现“发送一个请求,等待多个响应”的同步?...
  4. 畅通工程续 最短路
  5. java 阻塞锁_Java实现锁、公平锁、读写锁、信号量、阻塞队列、线程池等常用并发工具...
  6. 您的DST大礼包请查收
  7. 用硬盘安装linux物理机,老爷机安装UBUNTU的悲剧之旅(附用GRUB2硬盘安装ubuntu教程)...
  8. 2021辽宁高考成绩查询公布,2021辽宁高考成绩什么时候出
  9. 计算机组成定时方式,2019考研408计算机组成原理知识:总线操作和定时
  10. 中英文对照 —— 生活中常见词汇
  11. python利用公式计算_从零开始用Python构造决策树(附公式、代码)
  12. matlab disp函数_从零开始的matlab学习笔记——(13)符号计算中的多项式
  13. 数据可视化制作工具推荐
  14. 海康威视DS-7808HW-SNH固件升级包支持萤石云
  15. Java Restful风格-Jersey RESTful 框架入门
  16. 适合matlab的编程字体“YAHEI CONSOLAS HYBRID”-下载+安装
  17. 校园WIFI netkeeper 批处理一键开启热点
  18. 体验不尽,进化不止,看视频云技术六大创新
  19. From.List用法详解
  20. 大芒果mysql下载_大芒果wow服务端

热门文章

  1. 一念逍遥服务器维护中,一念逍遥2月26日更新了哪些内容_2月26日更新内容一览_3DM手游...
  2. Linux mint19系統下安装QQ微信通讯软件
  3. python无法print彩色字体
  4. 浅谈托福阅读备考中的惯性思维
  5. mysql下载64位 win7安装_图解Win7 64位系统安装MySQL 5.5.21
  6. 365家装智选联盟:装修时砖要怎么选?不要慌,这里告诉你!
  7. 无花果量子计算机进展,无花果累低调做人,科学敬业奉献今生
  8. Xamarin.Android实现自动拨打及挂断电话的功能
  9. python第六章课后题答案_python 核心编程第六章课后题自己做的答案
  10. 微信可以识别哪些HTML语言,微信小程序一些常用标签与HTML的对应关系