Wie ändere ich den Teil meines Codes wo ist eine For-Each-Schleife. Es sollteFor-Each-Schleife, Karte <String, Map <String, Liste <String> >>
wie diese Arbeit, wenn ich "Mark" im Fenster schreiben würde und in Ordnung klicken (neben Alina usw.), unten angezeigt werden soll:
[A]
[l]
- Alina
[d]
- Adam
[M]
[a]
- Mark
public class WordsList Arraylist erweitert {
@Override
public String toString() {
if (isEmpty()) {
return "[]";
}
return String.format("[%s]\n", stream().collect(Collectors.joining(",")));
}
}
Testklasse
private Map<String, Map<String, List<String>>> words = new HashMap<>();
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String key = ("" + jTextField1.getText().charAt(0)).toUpperCase();
Map<String, List<String>> firstLevel = words.get(key);
String value = jTextField1.getText();
if (firstLevel == null) {
firstLevel = new HashMap<>();
words.put(key, firstLevel);
}
List<String> secondLevel = firstLevel.get("" + jTextField1.getText().charAt(1));
if (secondLevel == null) {
secondLevel = new ArrayList<>();
firstLevel.put("" + jTextField1.getText().charAt(1), secondLevel);
}
secondLevel.add(value);
jTextArea1.setText("");
for (String keys : words.keySet()) {
jTextArea1.append("[" + keys + "]\n");
for (String keyss : firstLevel.keySet()) {
jTextArea1.append(" " + "[" + keyss + "]\n");
for (String keysss : secondLevel) {
jTextArea1.append(" " + "-" + keysss + "\n");
}
}
}
}
ich sehr Anfänger bin in Java auch, dies ist mein erster Beitrag ist
* "Kann mir jemand helfen .." * ..du scheinst nach einem Tutor zu suchen, und das ist nicht der richtige Ort, um danach zu fragen. Wenn diese Impression falsch ist, posten Sie eine [mcve] und stellen Sie eine * spezifische * Frage. –
Warum überschreiben Sie 'ArrayList's toString? Das ist so ziemlich die Standardimplementierung. –
Dieser Code scheint zu funktionieren wie erwartet –