如何从通用映射类中查找获取键值对

时间:2017-12-23 07:32:58

标签: java generics

这里我在一个Generic类中创建了一个参数化类型的Map。我面临的问题是,一旦我在这个Map对象上添加了5个键对值。我有点困惑如何使用地图对象参考值取回那5对。正如您所看到的,我可以使用循环1获取Key值。这是在将键值对添加到地图对象时获得的。

现在,一旦我将所有键值对添加到地图对象' mp',我想知道如何获取所有密钥对值?

看一下能让它更清晰的代码。

class Maps<K, V> {
K key;
V value;
int size;

Maps(int size) {
    this.size = size;
}

public void add(K k, V v) {
    key = k;
    value = v;

}

public void show() {
    System.out.print("key=" + key);
    System.out.println("  value=" + value);
}

public int getSize() {
    return size;
}}

class MyMaps {
public static void main(String args[]) {

    Maps<Integer, String> mp = new Maps<Integer, String>(5);
    System.out.println("mp=" + mp);

    // Loop1
    for (int i = 0; i < mp.getSize(); i++) {
        mp.add(i + 1, "JAI " + i);
        mp.show();
    }

    // Loop2

    for (int i = 0; i < mp.getSize(); i++) {

        System.out.println(mp);

    }

}

}

1 个答案:

答案 0 :(得分:0)

您要访问的是地图条目(也称为键,值对):

for (Map.Entry<Integer, String> entry : mp.entrySet()) {
   Integer key = entry.getKey();
   String value = entry.getValue();
   // do whatever you need to do with key and value
}