2017-10-22 2 views
2

Ich habe eine Methode, die 2 Hash-Maps als Parameter akzeptiert und ich möchte die Hash-Maps nebeneinander drucken, also verwende ich eine for-Schleife, die durch die erste geht und drucke den Inhalt, den ich brauche, um zu drucken. Dann benutze ich eine printf-Anweisung, um die Ergebnisse in der Konsole zu zeigen. Nach dem Drucken (zweite Tabelle auf dem Bild) möchte ich den gleichen Inhalt aber für map m1 Ich bin mir nicht sicher, wie ich das machen soll. Wenn mir jemand einen Tipp geben kann, wäre das toll :).Drucken von 2 Hash-Maps nebeneinander

PS Am Ende habe ich 1 so etwas wie this.Where Tisch erreichen wollen ist m Tabelle 2 ist m1

enter image description here

+0

wie funktioniert Ihr 'HashMap' enthält mehrere' Integer Werte' mit gleichem 'Zeichenschlüssel' y''? –

+0

Dies ist, weil ich eine for-Schleife innerhalb der for-Schleife gemacht und es die Ergebnisse abgehört. Alles funktioniert gut Ich weiß nur nicht, wie man eine Methode, die die beiden hashmaps wie auf dem Bild gezeigt, zu machen. – Ne7WoRK

Antwort

3

Sie tun können, dass die Verwendung von Iteratoren:

public static void printingCharacters(Map<Character, Integer> m, Map <Character, Integer> m1) {  
    Iterator<Map.Entry<Character, Integer>> it = m.entrySet().iterator(); 
    Iterator<Map.Entry<Character, Integer>> it1 = m1.entrySet().iterator(); 

    while(it.hasNext() && it1.hasNext()) { 
     printEntries(it.next(), it1.next()); 
    } 
} 

public static void printEntries(Map.Entry<Character, Integer> e, Map.Entry<Character, Integer> e1) { 
    System.out.printf("Letter: %c : Time occurs: %d - %.2f %%\t\t\t Letter: %c : Time occurs: %d - %.2f %%\n ", e.getKey(), 
      e.getValue(), percentageOfOccurrence(e.getValue()), e1.getKey(), e1.getValue(), percentageOfOccurrence(e1.getValue())); 
    System.out.println("-----------------------------------------------| \t|-----------------------------------------------------|"); 
}