2013-03-06 35 views
-1

我在Java的新手,我有一個哈希地圖如何從一個哈希表

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

X訪問對象類型的元素具有

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

它的構造。

我向X和HashMap插入值。但是,如何訪問X的元素? myMap.myX.getID()?這是我所嘗試過的,並且失敗了。

遍歷列表的最佳方法是什麼?

+0

這是不是你如何使用地圖!閱讀文檔並更好地學習Java語法。 – Dariusz 2013-03-06 07:38:22

回答

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()) 

遍歷鍵

0

必須使用地圖的get()方法來訪問對象。

dataset.get(key).getID()

0

你需要讓你的Object基於一個keymap,然後嘗試訪問它的元素。

for(Integer key : dataset.keySet()){ 
    X object = dataset.get(key); 
    // Access its elements like "object.getID()"; 
} 
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); 
} 
0

在這裏你會得到所有的ID ......

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