Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据第一张地图上的名字找到salay_Java_Collections - Fatal编程技术网

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我可以,但有什么方法可以通过这种方式得到我想要的东西吗。。?