2011-09-19 67 views
2

設置項?做.entrySet()似乎並不奏效。得到拿到一張地圖,如地圖

+0

-1,這個問題沒有顯示任何研究成果:即使通過Map的Javadoc快速瀏覽也會回答這個問題。 –

回答

12

如果您只想獲得地圖值,可以使用values()方法。 Javadoc頁面是here

這是因爲您的要求是一個整數集合,並且映射值是整數類型。

entrySet返回Map.Entry的集合,每個實例都包含兩個鍵和值組成的條目,所以如果你想同時得到鍵和值,使用entrySet()像這樣

Set<Map.Entry<String, Integer>> entries = map.entrySet()

+0

'Set'實際上_doesn't_沒有任何不在'Collection'的方法,有趣的是。它只是有不同的語義。 – ColinD

+0

@colind,thanx,不知道我的電線是如何穿過那裏的。 – hvgotcodes

+0

@ColinD,ooo和我的entrySet例子是完全錯誤的,修復.. – hvgotcodes

6

這取決於你是否真的想要一個SET。如果你想有一個真正集,你必須做到:

Set mySet = new HashSet(map.values()); 

注意給出了一個集合,可以有重複的條目。