如何获取HashMap值的属性?

OP2*_*011 4 java attributes hashmap

“我的”代码:

public void iterateHashmap2() {
    HashMap hashmap = this.media;
    Iterator it = hashmap.keySet().iterator();
    while (it.hasNext())
    {
        Object key = it.next();
        Object val = hashmap.get(key);
            // doesn't work..
        System.out.println(val.getAttribute);
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,如何获取该值包含的属性。该值是我自己创建的一个类,其中包含4个字符串和我创建的另一个类作为属性。(我想做的是遍历哈希图,并将存储在值中的属性的字符串与输入数据进行比较。。因此,我需要能够访问哈希图的值中的属性。希望感..)

Sea*_*oyd 5

您可以通过提供密钥来访问地图中的值:

// create a map
Map<String, MyObject> map = new HashMap<String, MyObject>();
// store a value
map.put("key", someObject);
// retrieve a value
MyObject someObject2 = map.get("key");
Run Code Online (Sandbox Code Playgroud)

您也可以使用

  • map.keySet() 检索所有密钥
  • map.values() 检索所有值,不带键
  • map.entrySet()检索所有映射。每个条目代表一个映射到一个值的键。

a)在我的代码中,我使用Java Generics,因为至今至少五年来,这一直是标准的方法。
b)你应该考虑读地图界面从Java教程。