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

水墨云历史黑名单IDC,斟酌选购

水墨云怎么样?本站黑名单idc,有被删除账号风险,建议转出及数据备份!水墨云ink cloud Service是成立于2017年的商家,自2020起开始从事香港、日本、韩国、美国等地区CN2 GIA线路的虚拟服务器租赁,同时还有台湾、国内nat vps相关业务,也有iplc专线产品,相对来说主打的是大带宽服务器产品。注意:本站黑名单IDC,有被删除账号风险,请尽量避免,如果已经购买建议转出及数据备...

10gbiz:香港/洛杉矶CN2直连线路VPS四折优惠,直连香港/香港/洛杉矶CN2四折

10gbiz怎么样?10gbiz在本站也多次分享过,是一家成立于2020的国人主机商家,主要销售VPS和独立服务器,机房目前有中国香港和美国洛杉矶、硅谷等地,线路都非常不错,香港为三网直连,电信走CN2,洛杉矶线路为三网回程CN2 GIA,10gbiz商家七月连续推出各种优惠活动,除了延续之前的VPS产品4折优惠,目前增加了美国硅谷独立服务器首月半价的活动,有需要的朋友可以看看。10gbiz优惠码...

易探云美国云服务器评测,主机低至33元/月,336元/年

美国服务器哪家平台好?美国服务器无需备案,即开即用,上线快。美国服务器多数带防御,且有时候项目运营的时候,防御能力是用户考虑的重点,特别是网站容易受到攻击的行业。现在有那么多美国一年服务器,哪家的美国云服务器好呢?美国服务器用哪家好?这里推荐易探云,有美国BGP、美国CN2、美国高防、美国GIA等云服务器,线路优化的不错。易探云刚好就是做香港及美国云服务器的主要商家之一,我们来看一下易探云美国云服...

java map为你推荐
dreamweaver8激活码求Dreamweaver 8激活码防恶意点击防恶意点击的原理是什么,是根据什么判定的?win7无线局域网在win7下如何创建无线局域网linksys无线路由器设置如何使用无线路由linksys wet11 在线等linksys无线路由器设置linksys无线路由器为什么进不了设置菜单spotlight搜索是什么如何启动Spotlight搜索微软将停止支持32位Win10系统win10 64位怎么兼容32位windows7系统要求windows7的系统盘要求最低是多少北漂论坛请问北票有论坛吗智能公共广播系统智能公共广播系统js-3301数码mp3编程器怎么使用
香港虚拟主机 host1plus 缓存服务器 免费网站监控 网站监控 回程路由 轻博 php探针 搜狗抢票助手 骨干网络 秒杀预告 hdd hkt 免费dns解析 idc查询 shopex主机 512mb 便宜空间 重庆电信服务器托管 lamp架构 更多