如何在Java中从HashMap获取对象
当给定密钥时,我试图从HashMap中获得测试对象的速度,但我不太确定如何做到这一点。我试过这种方法,但它是错误的:
hash.values().getSpeed();
有什么帮助吗?谢谢
class Test {
private String id;
private String name;
private int speed;
public Test(String id, String name, int speed) {
this.id = id;
this.name = name;
this.speed = speed;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public int getSpeed() {
return speed;
}
}
public class Driver {
public static void main(String[] args) {
HashMap<String, Test> hash = new HashMap<String, Test>();
Test c1;
Test c2;
c1 = new Test("Z", "B", 4);
c2 = new Test("Y", "D", 7);
hash.put("A", c1);
hash.put("C", c2);
}
}
# 1 楼答案
values()方法返回包含在
HashMap
对象中的值的集合。可以使用for loop
遍历values集合# 2 楼答案
# 3 楼答案
hash.get("A")
,或者更一般地:hash.get(key)
,其中key
是hash.put(key, value)
调用的第一个参数# 4 楼答案
# 5 楼答案
get
与put
相反。所以只要hash.get("C");
就会给你c1
等等我建议你在发布之前更彻底地查看一下你使用的类的Javadoc
# 6 楼答案
Map界面中有一个方法,我认为它具有以下签名+返回类型: