我在Java中有一个这样的Hashmap:

private Map<String, Integer> team1 = new HashMap<String, Integer>();

然后我像这样填充它:

team1.put("United", 5);

我怎么才能拿到钥匙?类似于:team1.getKey()返回“United”。


当前回答

我要做的非常简单,但浪费内存的是将值映射到一个键,并相反地将键映射到一个值,这样做:

private Map<Object, Object> team1 = new HashMap<Object, Object>();

使用<Object, Object>很重要,这样你就可以像这样映射key:Value和Value: key

team1。(“联合”,5);

team1。把(5,“联合”);

如果你使用team1。get("United") = 5和team1。get(5) = "United"

但如果你对其中一个对象使用特定的方法,我会更好,如果你做另一张地图:

private Map<String, Integer> team1 = new HashMap<String, Integer>();

private Map<Integer, String> team1Keys = new HashMap<Integer, String>();

然后

team1。(“联合”,5);

team1Keys。把(5,“联合”);

记住,保持简单。

其他回答

public class MyHashMapKeys {

    public static void main(String a[]){
        HashMap<String, String> hm = new HashMap<String, String>();
        //add key-value pair to hashmap
        hm.put("first", "FIRST INSERTED");
        hm.put("second", "SECOND INSERTED");
        hm.put("third","THIRD INSERTED");
        System.out.println(hm);
        Set<String> keys = hm.keySet();
        for(String key: keys){
            System.out.println(key);
        }
    }
}

试试这个简单的程序:

public class HashMapGetKey {

public static void main(String args[]) {

      // create hash map

       HashMap map = new HashMap();

      // populate hash map

      map.put(1, "one");
      map.put(2, "two");
      map.put(3, "three");
      map.put(4, "four");

      // get keyset value from map

Set keyset=map.keySet();

      // check key set values

      System.out.println("Key set values are: " + keyset);
   }    
}

要在HashMap中获取键,我们有keySet()方法,该方法存在于java.util.Hashmap包中。 例:

Map<String,String> map = new Hashmap<String,String>();
map.put("key1","value1");
map.put("key2","value2");

// Now to get keys we can use keySet() on map object
Set<String> keys = map.keySet();

现在键将有你所有的键在地图可用。 例:[key1, key2]

获取Key及其值

e.g

private Map<String, Integer> team1 = new HashMap<String, Integer>();
  team1.put("United", 5);
  team1.put("Barcelona", 6);
    for (String key:team1.keySet()){
                     System.out.println("Key:" + key +" Value:" + team1.get(key)+" Count:"+Collections.frequency(team1, key));// Get Key and value and count
                }

将打印:键:联合值:5 值:6

一个HashMap包含多个键。您可以使用keySet()来获取所有键的集合。

team1.put("foo", 1);
team1.put("bar", 2);

将存储1,键“foo”和2,键“bar”。遍历所有键:

for ( String key : team1.keySet() ) {
    System.out.println( key );
}

将打印“foo”和“bar”。