如何从哈希映射中访问对象类型的元素

时间:2013-03-06 07:36:08

标签: java oop

我是Java的新手,我有一个带

的哈希映射

Map<Integer, x> dataset = new HashMap<Integer, x>();

X有

 public int id; 
 public Integer getID(){
        return id;
    }

及其构造函数。

我将值插入X和HashMap。但我该如何

访问X的元素? myMap.myX.getID()?这是我尝试过的,它失败了。

迭代列表的最佳方法是什么?

5 个答案:

答案 0 :(得分:0)

Map iterface公开了一个get方法来检索元素:

X mapObject = dataset.get(someInteger);

或更具体的例子:

dataset.put(5, new X());
X mapObject = dataset.get(5);

要迭代,你可以这样做:

for (X mapObject:dataset.values())

迭代值或

for (Integer mapKey:dataet.keySet())

迭代键

答案 1 :(得分:0)

您必须使用Map的get()方法来访问对象。

dataset.get(key).getID()

答案 2 :(得分:0)

您需要根据Objectmap获取key,然后尝试访问其元素。

for(Integer key : dataset.keySet()){
    X object = dataset.get(key);
    // Access its elements like "object.getID()";
}

答案 3 :(得分:0)

Map<Integer, X> map = new HashMap<Integer,X>();
Iterator<Integer> iterator = map.keySet().iterator();

while ( iterator.hasNext() ) {
    Integer key = iterator.next();
    X x = map.get(key);
}

答案 4 :(得分:0)

在这里你得到所有的ids ......

for(Integer key : dataset.keySet()){
    X object = dataset.get(key);
    int objectId = object.getId();
}