Matching von Java Map

Hey zusammen!
In meinem neusten Projekt matche ich zwei Maps anhand eines Keys (Map1) und einem Value (Map2).
Haben diese die gleiche Nummer werden die Values aus beiden Maps zusammen in eine Zeile einer csv-Datei geschrieben.
Soweit so gut.
Nun hat aber nicht jeder Value (Map2) einen dazugehörigen Key(Map1).
Trotzdem möchte ich, dass die Values der 2. Map in die csv eingetragen werden auch wenn diese keinen match hat, dann ohne die Einträge aus Map1.
Ich hab leider keine Ahnung wie ich das anstellen soll.
Weiß jemand wie ich meine Abfrage so manipulieren kann, dass die Values (Map2) trotzdem eingetragen werden, wenn es keinen Match mit einem Key aus Map1 hat? Unten der kommentierte Code.
Code:
        //Nimm den Key aus der 1. Map
        for (Map.Entry<String, KlasseEins> e : maps.entrySet()) {
            String s = e.getKey();
            //Hole die Einträge aus der 2. Map
            for (Map.Entry<String, KlasseZwei> l : map.entrySet()) {
                //Vergleiche den Value (Nummer) ob es mit dem Key aus der 1. Map übereinstimmt
                if (l.getValue().getNummer().equals(s)) {
                    //Schreibe in die csv Datei...
                }
            }
          
            }
 
Zuletzt bearbeitet:
Dreh die Schleifen um, dann kannst Du auch die get-Methode der Map verwenden (= speeeed) und entscheiden, was passiert. Du kannst auch noch eine Klasse verwenden, um den CSV-Eintrag zu erzeugen.

Pseudo-Code:
Java:
for (Map.Entry<String, KlasseZwei> pflichtEintrag : map.entrySet()) {   
    KlasseZwei pflichtTeil = pflichtEintrag.getValue();
    String key = pflichtTeil.getNummer();
    KlasseEins optionalerTeil = maps.get(key);
    String csv = createCsvRecord(pflichtTeil, optionalerTeil);
}

// die Methode
private String createCsvRecord(KlasseZwei pflicht, KlasseEins optional) {
    StringJoiner j = new StringJoiner(",");
    j.add(pflicht.getNummer());
//    j.add(plicht....)
   if (optional != null) {
       optional.add(optional.getSomething());
   }
   return j.toString();
}
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben