Java Hashmap: How to get key from value?

前端 未结 30 1856
忘掉有多难
忘掉有多难 2020-11-22 02:14

If I have the value \"foo\", and a HashMap ftw for which ftw.containsValue(\"foo\") returns true, how can I

30条回答
  •  一向
    一向 (楼主)
    2020-11-22 03:08

    I think this is best solution, original address: Java2s

        import java.util.HashMap;
        import java.util.Map;
    
            public class Main {
    
              public static void main(String[] argv) {
                Map map = new HashMap();
                map.put("1","one");
                map.put("2","two");
                map.put("3","three");
                map.put("4","four");
    
                System.out.println(getKeyFromValue(map,"three"));
              }
    
    
    // hm is the map you are trying to get value from it
              public static Object getKeyFromValue(Map hm, Object value) {
                for (Object o : hm.keySet()) {
                  if (hm.get(o).equals(value)) {
                    return o;
                  }
                }
                return null;
              }
            }
    

    An easy usage: if you put all data in hasMap and you have item = "Automobile", so you are looking its key in hashMap. that is good solution.

    getKeyFromValue(hashMap, item);
    System.out.println("getKeyFromValue(hashMap, item): "+getKeyFromValue(hashMap, item));
    

提交回复
热议问题