java mapjava Map 根据Map的值(value)取键(key)

java map  时间:2022-02-25  阅读:()

java map .put 方法

被222覆盖了,因为你的两个key都是1。Map是以K-Value的键值对形式来存储的,不能包含相同的key,每个key只能映射一个value。 如果想实现一个key保存两个value,可以参考以下代码: public class test { public static void main(String[] args) { String str1 = new String("xx"); String str2 = new String("xx"); System.out.println(str1 == str2); Map<String ,String> map = new IdentityHashMap<String ,String>(); map.put(str1, "nihao"); map.put(str2, "baiduzhidao"); for(Entry<String,String> entry : map.entrySet()) { System.out.println(entry.getKey()+"? ?" + entry.getValue()); } System.out.println("? ? ?containsKey---> " + map.containsKey("xx")); System.out.println("str1 containsKey---> " + map.containsKey(str1)); System.out.println("str2 containsKey---> " + map.containsKey(str2)); System.out.println("? ? value----> " + map.get("xx")); System.out.println("str1? value----> " + map.get(str1)); System.out.println("str2? value----> " + map.get(str2)); } } 再来看一下运行后的结果: false xx? ?baiduzhidao xx? ?nihao containsKey---> false str1 containsKey---> true str2 containsKey---> true value----> null str1? value----> nihao str2? value----> baiduzhidao 我们可以知道IdentityHashMap是靠对象来判断key是否相等的,如果我们一个key需要保存多个value的时候就需要使用到这个IdentityHashMap类,这样我们我们就可以需要的时候使用到这个类了。 扩展资料: Map接口中键和值一一映射. 可以通过键来获取值。 给定一个键和一个值,你可以将该值存储在一个Map对象. 之后,你可以通过键来访问对应的值。 当访问的值不存在的时候,方法就会抛出一个NoSuchElementException异常. 当对象的类型和Map里元素类型不兼容的时候,就会抛出一个 ClassCastException异常。 当在不允许使用Null对象的Map中使用Null对象,会抛出一个NullPointerException 异常。 当尝试修改一个只读的Map时,会抛出一个UnsupportedOperationException异常。 参考资料: Java官方API?MapJava Platform SE 7) 菜鸟教程-Java Map 接口

java list 与map有什么区别??

List接口 继承collection接口,Map是个顶级接口 List此接口的用户可以对列表中每个元素的插入位置进行精确地控制。 用户可以根据元素的整数 索引(在列表中的位置)访问元素,并搜索列表中的元素 map将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值 简单的说就是list只能保存一列表;Map能保存2列表

java Map 根据Map的值(value)取键(key)

java根据Map的值(value)取键(key) 的实现方法有4种,分别为: (1)使用e68a84e799bee5baa631333366303861for循环遍历 (2)使用Iterator迭代器 (3)使用KeySet迭代 (4)使用EnterySet迭代 下面为以上4种方法具体实现的代码: 1、使用for循环遍历 public static Object getKey(HashMap<Object,Object> map, String v) { String key = ""; for (Map.Entry<String, Object> m :map.entrySet()) ?{ if (m.getValue().equals(v)) { key = m.getKey(); }} return key; } 2、使用Iterator迭代器 public static Object getKey(HashMap<Object,Object> map, String v) { Set set = map.entrySet(); Iterator iterator=set.iterator(); String key = ""; while (iterator.hasNext()) { Map.Entry<String, Object> enter = (Entry<String, Object>) iterator.next(); if (enter.getValue().equals(v)) { key = enter.getKey(); }} return key; } 3、使用KeySet迭代 public static Object getKey(HashMap<Object,Object> map, String v) { Iterator<Object> it = map.keySet().iterator(); while (it.hasNext()) { String key = it.next().toString(); if ((String) map.get(key).equals(v)) return key; } return null; } 4、使用EnterySet迭代 public static Object getKey(HashMap<Object,Object> map, String v) { String key = ""; Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Entry) it.next(); Object obj = entry.getValue(); if (obj != null && obj.equals(value)) { key = (String) entry.getKey(); }} return key; } 扩展资料: java获取map的key和value的方法: (1)?通过map.keySet()方法,先获取map的key,然后根据key获取对应的value。 for(String key : map.keySet()){ String value = map.get(key); System.out.println(key+"? "+value); } Iterator<String> iter = map.keySet().iterator(); while(iter.hasNext()){ String key=iter.next(); String value = map.get(key); System.out.println(key+" "+value); } (2)通过map.entrySet()方法,循环map里面的每一对键值对,然后获取key和value。 for(Entry<String, String> vo : map.entrySet()) { vo.getKey(); vo.getValue(); System.out.println(vo.getKey()+"? "+vo.getValue()); } Iterator<Entry<String,String>> iter = map.entrySet().iterator(); while(iter.hasNext()){ Entry<String,String> entry = iter.next(); String key = entry.getKey(); String value = entry.getValue(); System.out.println(key+" "+value); } 参考资料来源:JAVA官方文档-Map

A400互联1H/1G/10M/300G流量37.8元/季

A400互联是一家成立于2020年的商家,本次给大家带来的是,全新上线的香港节点,cmi+cn2线路,全场香港产品7折优惠,优惠码0711,A400互联,只为给你提供更快,更稳,更实惠的套餐。目前,商家推出香港cn2节点+cmi线路云主机,1H/1G/10M/300G流量,37.8元/季,云上日子,你我共享。A400互联优惠码:七折优惠码:0711A400互联优惠方案:适合建站,个人开发爱好者配置...

百纵科技,美国独立服务器 E52670*1 32G 50M 200G防御 899元/月

百纵科技:美国高防服务器,洛杉矶C3机房 独家接入zenlayer清洗 带金盾硬防,CPU全系列E52670、E52680v3 DDR4内存 三星固态盘阵列!带宽接入了cn2/bgp线路,速度快,无需备案,非常适合国内外用户群体的外贸、搭建网站等用途。C3机房,双程CN2线路,默认200G高防,3+1(高防IP),不限流量,季付送带宽美国洛杉矶C3机房套餐处理器内存硬盘IP数带宽线路防御价格/月套...

HoRain Cloud:国内特价物理机服务器,镇江机房,内地5线BGP接入,月付499元起

horain怎么样?horain cloud是一家2019年成立的国人主机商家,隶属于北京辰帆科技有限公司,horain持有增值电信业务经营许可证(B1-20203595),与中国电信天翼云、腾讯云、华为云、UCloud、AWS等签署渠道合作协议,主要提企业和个人提供云服务器,目前商家推出了几款特价物理机,都是在内地,性价比不错,其中有目前性能比较强悍的AMD+NVMe系列。点击进入:horain...

java map为你推荐
stm32视频教程初学STM32的入门方法有哪些?怎么取消焦点WOW焦点怎么解除!买服务器自己想买一个服务器,把自己的网站放上去,最终要做那些准备? 详细。淘气鸟乌儿很淘气,飞来飞去,蹦蹦跳跳,请你用“一会儿…一会儿…一会儿…”写写鸟儿?呼叫中心搭建呼叫中心怎么建设物联卡官网物联卡是正规流量卡吗?handoff怎么用Hand off怎么用?操控人心如何操控自己的人生音响解码大家好,音响锁住了怎么解锁?软件测试工程师待遇现在IT行业的软件测试工程师怎么样,待遇怎么样?
ipage enom 新加坡主机 息壤备案 便宜域名 私服服务器 网络星期一 gitcafe 60g硬盘 英文简历模板word 好看的留言 seovip 网通服务器ip 丹弗 国外在线代理 台湾谷歌网址 个人空间申请 小米数据库 e蜗 日本bb瘦 更多