在之前的学习中,我们在使用map的时候,都是利用key找value。

之前我们使用的函数是find,若存在,返回查找到的指向第一个key的迭代器,若不存在,返回尾后迭代器。

反过头来想一想,我们可不可以根据value找key呢?

答案是肯定的。

我们使用find_if +lambda可以实现。返回值和find一致。


实例1:

std::string s = "c";
auto find_item = std::find_if(t.begin(), t.end(),[s](const std::map<int, std::string>::value_type item)
{return item.second == s;
});int n = 0;
if (find_item!= t.end())
{n = find_item->first;
}

根据value为c,找对应的key!!!

map:根据 value 找 key ?相关推荐

  1. map用value值找key的两种方法

    map用value值找key的两种方法 Map中是一个key有且只有一个value. 但是一个value可以对应多个key值. 只用用特殊方法才能用value值来找key,以下就是用value值找ke ...

  2. map集合根据value找key,默认取第一个key

    private static String getKey(Map<String,String> map,String value){ String key=""; fo ...

  3. c++ map通过值找键与通过键找值得方法(全)

    map 通过值找键 count find 通过键找值 通过值找键 count if (ans.count(key1)) //查键cout << ans[key1] << end ...

  4. 判断 std map 中是否有 key

    判断 std 中的 map 中是否有 key 第一种: if (m_pushMap.find("token0") != m_pushMap.end()) { } 第二种: if ( ...

  5. Java List转Map时发生Duplicate key

    错误信息:Duplicate key 3 (attempted merging values Wang Wu and Wang Wu 222) 1.错误再现 // new个list List<C ...

  6. Map中可以作为Key的类型

    Map中可以作为Key的类型 1. golang中能够用 == 号直接比较的数据类型有如下 整型 int.浮点型 float.字符串 string.布尔型 bool.复数型 complex.指针型 p ...

  7. Java Map中如何使用key获取value数据呢?

    转自: Java Map中如何使用key获取value数据呢? 下文笔者讲述使用Map.get()方法获取集合中的value值的方法分享,如下所示: 实现思路:借助Map的get方法即可获取value ...

  8. map集合的遍历Key

    map集合的遍历Key package cn.it.Map; import java.util.HashMap; import java.util.Iterator; import java.util ...

  9. java的map键值类型是否固定_Java中Map根据键值(key)或者值(value)进行排序实现

    我们都知道,java中的Map结构是key->value键值对存储的,而且根据Map的特性,同一个Map中 不存在两个Key相同的元素,而value不存在这个限制.换句话说,在同一个Map中Ke ...

最新文章

  1. Tesla AutoPilot纯视觉方案解析
  2. PhoneGap 安装体验
  3. java集群调度_Cuckoo-Schedule
  4. win10自启动文件夹目录
  5. linux系统的层次结构,关于Linux操作系统层次结构分析
  6. 精通Android开发 0
  7. Zabbix动态监控磁盘I/O
  8. Linux开机加载新内核,linux-kernel – 为什么加载内核地址,ramdisk在启动时很重要?...
  9. atitit.提升研发效率的利器---重型框架与类库的区别与设计原则
  10. 快手极速版自动评论脚本
  11. 【源码】基于遗传算法的VST混响插件
  12. 【spring系列】spring注解解析原理
  13. 【日常】关于爬虫中iframe节点处理小结(以超星课件下载为例)
  14. leetcode 876.链表的中间结点
  15. 《基于Vue实战打造抖音WebApp》
  16. linux车机按键学习,linux就该这么学
  17. 湖北计算机二级考试时间安排,湖北3月计算机二级考试时间安排
  18. word2vec(2) 背景知识
  19. 数据分析02-线性回归
  20. 计算机c语言基础字符,2008计算机二级考试:C语言基础教程-C语言字符型数据

热门文章

  1. 微信公众平台开发(24) 自定义菜单功能开发
  2. 设计模式[20]-Builder
  3. 解决GeoTools中CQL解析中文字段名的问题
  4. C里面的scanf那个功能在matlab中实现
  5. WIN10 OpenGL GLFW+GLAD 开发环境搭建
  6. C++运行时候库操作概述和整个程序运行流程
  7. C++ 函数的引用返回值
  8. 基于机器学习的捡球机器人设计与实现(探索)第3篇——opencv基础知识学习(2019-02-02)
  9. mysql 删除原理_MySQL权限原理及删除MySQL的匿名账户
  10. csp php,CSP学习笔记(持续学习更新)