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

CheapWindowsVPS$4.5/月,美国VPS/免费Windows系统/1Gbps不限流量/,可选美洲、欧洲、亚洲等8大机房

国外商家提供Windows系统的并不常见,CheapWindowsVPS 此次提供的 2 款 VPS 促销套餐,提供 5 折永久优惠码,优惠后月付 4.5 美元起,价格还是挺诱人的,VPS 不限流量,接入 1Gbps 带宽,8 个机房皆可选,其中洛杉矶机房还提供亚洲优化网络供选择,操作系统有 Windows 10 专业版、2012 R2、2016、Linux等。Cheap Windows VPS是...

香港最便宜的vps要多少钱?最便宜的香港vps能用吗?

香港最便宜的vps要多少钱?最便宜的香港vps能用吗?香港vps无需备案,整体性能好,而且租用价格便宜,使用灵活,因为备受站长喜爱。无论是个人还是企业建站,都比较倾向于选择香港VPS。最便宜的香港vps能用吗?正因为有着诸多租用优势,香港VPS在业内颇受欢迎,租用需求量也在日益攀升。那么,对于新手用户来说,香港最便宜的vps租用有四大要点是务必要注意的,还有易探云香港vps租用最便宜的月付仅18元...

LiCloud:香港CMI/香港CN2+BGP服务器,30Mbps,$39.99/月;香港KVM VPS仅$6.99/月

licloud怎么样?licloud目前提供香港cmi服务器及香港CN2+BGP服务器/E3-1230v2/16GB内存/240GB SSD硬盘/不限流量/30Mbps带宽,$39.99/月。licloud 成立於2021年,是香港LiCloud Limited(CR No.3013909)旗下的品牌,主要提供香港kvm vps,分为精简网络和高级网络A、高级网络B,现在精简网络和高级网络A。现在...

java map为你推荐
android半透明android状态栏怎么设置透明达内学院请问北京达内到底怎么样啊?纠结死我了。托,请绕道软件开发的周期软件生命周期美国大选投票实时数据美国大选每个州的选举人票多少是怎么定的圣诞节网页制作这是我特别为您制作的2011年圣诞节祝福网页,祝您生蛋(圣诞)快乐,好事圆圆,好梦连连!快去看看吧。微软将停止支持32位Win10系统电脑win10系统自带的office2016为什么是32位?windows7系统要求win7系统要求做视频的免费软件求有哪种视频制作软件是全免费的啊?音响解码音响功放:源码输出和解码输出有什么区别500人同时满足500人在线的性能测试jmeter怎么设置线程和并发数
备案域名购买 winscp 台湾服务器 shopex空间 轻博 好看的桌面背景图片 500m空间 e蜗牛 腾讯云分析 ftp教程 adroit 百度云加速 免费ftp 卡巴斯基试用版下载 hdchina japanese50m咸熟 winds ipower comodo hosts文件 更多