2015-09-20 51 views
2

我試圖通過數組方法返回鍵和值。通過數組方法返回HashMap值和鍵

我已經這樣做了:

public ArrayList<String> translationList() { 
    for (String key : translations.keySet()) { 
     System.out.println(key + " = "); 
    } 
    return new ArrayList<String>(this.translations.values()); 
} 

在我Main.java

ArrayList<String> translations = dictionary.translationList(); 
for (String translation : translations) { 
    System.out.println(translation); 
} 

它返回

apina = 
cembalo = 
banaani = 
monkey 
harpsichord 
banana 

我不知道如何讓他們上打印單詞翻譯後的同一行。我知道它在返回數組之前正在打印for循環,但這是我的問題所在並且不知道如何解決它。

+0

使用'的System.out.println( 「翻譯=」 +翻譯);'或'內部換循環使用'System.out.print(translation); – seahawk

回答

3

由於您只獲取值,因此無法根據值獲取密鑰。所以不可能。

你可以做的是從方法返回鍵並迭代你的方法。

或簡單地改變你的方法

public ArrayList<String> translationList() { 
    List<String> returnList = new ArrayList<>(String); 
    for (Entry<Integer, String> entry : testMap.entrySet()) { 

       returnList.add(entry.getKey()+"="+entry.getValue()); 

     } 
    return returnList; 
} 

和在主方法

ArrayList<String> translations = dictionary.translationList(); 
for (String translation : translations) { 
    System.out.println(translation); 
} 
+0

我明白,但我不知道我該怎麼做,你能解釋一下嗎? – syntax

+0

@syntax當然。給定一個編輯。希望有幫助 –

+0

好吧,我明白了,我正在做的練習網站沒有教我關於getKey或getValue的知識,所以我不知道如何使用它們。會有沒有其他方式來做到這一點?謝謝你的幫助 – syntax