2015-09-20 35 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