Java 根据第一张地图上的名字找到salay
如何使用从Java 根据第一张地图上的名字找到salay,java,collections,Java,Collections,如何使用从映射中获取的值查找薪资,并将其用作键在另一个映射中查找薪资 示例从第一张地图获取姓名-bryan并显示第二张地图20000 import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Set; public
映射
中获取的值
查找薪资,并将其用作键
在另一个映射
中查找薪资
示例从第一张地图获取姓名-bryan
并显示第二张地图20000
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Set;
public class twomaps {
public static void main(String [] args)
{
LinkedHashMap <Integer, String> hmap = new LinkedHashMap <Integer, String>();
LinkedHashMap <String, String> hmap2 = new LinkedHashMap <String, String>();
hmap.put(22, "bryan");
hmap.put(11,"Savi");
hmap2.put("16000", "Savi");
hmap2.put("20000", "bryan");
// i know this part is not correct but was writing something is better than nothing
boolean b = hmap.values().contains("bryan");
if(b==true){
if(hmap2.values().equals(hmap2))
}
}
}
import java.util.ArrayList;
导入java.util.HashMap;
导入java.util.HashSet;
导入java.util.Iterator;
导入java.util.LinkedHashMap;
导入java.util.Set;
公共类地图{
公共静态void main(字符串[]args)
{
LinkedHashMap hmap=新LinkedHashMap();
LinkedHashMap hmap2=新LinkedHashMap();
hmap.put(22,“布莱恩”);
hmap.put(11,“萨维”);
hmap2.put(“16000”、“Savi”);
hmap2.put(“20000”,“布莱恩”);
//我知道这部分是不正确的,但我写的东西总比没有好
布尔b=hmap.values().contains(“bryan”);
如果(b==true){
如果(hmap2.values().等于(hmap2))
}
}
}
您可以使用下面的代码来实现这一点,但最好的方法是,创建一个员工
类型,并将员工
对象存储到地图
,这将真正使事情更加清晰和面向对象
//check if both the maps contain the "bryan"
if(hmap.containsValue("bryan") && hmap2.containsValue("bryan")) {
//iterate over the hmap2 using the keys
for(String key : hmap2.keySet()) {
//if the value is bryan, then get the key, which is the salary
if(hmap2.get(key) != null && hmap2.get(key).equals("bryan")) {
System.out.println(key);
}
}
}
试试这个简单的方法:
String name1 = "bryan";
hmap2.forEach((salary, name2) -> {
if (name2.equals(name1)) {
System.out.println(String.format("Salary for %s is %s", name1, salary));
}
});
只是想知道为什么不创建一个Employee对象并将其放在map中?@ANS我可以,但有什么方法可以通过这种方式得到我想要的东西吗。。?