Verketten Sie Zeichenfolgen, die von Mehrobjektmethoden in Java Stream zurückgegeben werden

Überblick

Quellcode

MyData.java

/**
 *Repräsentiert Schlüsselwertdaten.
 */
public class MyData {

  private final String k;
  private final String v;

  public MyData(String key, String val){
    this.k = key;
    this.v = val;
  }

  public String key(){
    return k;
  }

  public String val(){
    return v;
  }
}

Main.java

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

public class Main {

  public static void main(String[] args) {

    //Daten erstellen
    List<MyData> list = new ArrayList<MyData>() {
      {
        add(new MyData("KEY", "VALUE"));
        add(null);
        add(new MyData("Schlüssel", "Wert"));
        add(new MyData("Ki", "Baryu"));
        add(new MyData("Schlüssel", "Wert"));
        add(null);
        add(new MyData("key", null));
      }
    };

    //Stream-Objekte erstellen und verarbeiten
    String s = list.stream()
      .filter(Objects::nonNull) //Nullelemente ausschließen
      .filter(myData -> myData.val() != null) //Schließen Sie diejenigen mit dem Wert Null aus
      .sorted(Comparator.comparing(MyData::key).reversed()) //Sortierung nach Schlüssel umkehren
      .map(myData -> myData.key() + ":" + myData.val()) //Generieren Sie für jedes Element eine Zeichenfolge
      .collect(Collectors.joining(", ")); //Verketten Sie Zeichenfolgen

    //Verkettete Zeichenfolge ausgeben
    System.out.println(s);
  }
}

Ausführungsergebnis

$ javac *.java
$ java Main
Schlüssel:Wert,Schlüssel:Wert,Ki:Baryu, KEY:VALUE

Betriebsüberprüfungsumgebung

Referenzmaterial

Recommended Posts

Verketten Sie Zeichenfolgen, die von Mehrobjektmethoden in Java Stream zurückgegeben werden
Verschiedene Möglichkeiten zum Verketten von durch Kommas getrennten Zeichenfolgen in Java
So verketten Sie Zeichenfolgen mit Java
Mit Java Stream nach mehreren Bedingungen sortieren
Verketten von durch Kommas getrennten Zeichenfolgen mit StringJoiner auch in einer Java7-Umgebung
Versuchen Sie, synchronisierte Methoden aus mehreren Threads in Java aufzurufen
Durchsuchen Sie Klassenobjekte in Kotlin (anstelle der Java-Klasse name.class).
Informationen zur Konvertierung von Zeichenfolgen in Java in voller Breite und halber Breite
[Java, Stream] Sortieren Sie die Objektliste auf Japanisch nach dem Eigenschaftsnamen
Zusammenfassung der von der Spliterator-Merkmalsmethode #java zurückgegebenen Werte
Generieren Sie Stream aus einem Array primitiver Typen in Java
[Java11] Stream-Zusammenfassung - Vorteile von Stream -
Java Stream API in 5 Minuten
Java-Implementierung von Tri-Tree
Geben Sie die Differenz zwischen jedem Feld zweier Objekte in Java aus
Verwandeln Sie ein Array von Strings in eine Liste von Ganzzahlen in Java
Verschiedene Methoden der Java String Klasse
Über Lambda, Stream, LocalDate von Java8
Unterschiede in den Split-Methoden von StringUtils
Liste der Java-Objekte sortieren
[Java] Ausgabe von DateTimeFormatter durch FormatStyle
Löschen von AWS S3-Objekten in Java
Liste der in Java 9 hinzugefügten Mitglieder
Grundlegender Verarbeitungsablauf von Java Stream
Liste der in Java 9 hinzugefügten Typen
Fangen Sie mehrere Ausnahmen zusammen in Java
Implementierung einer ähnlichen Funktion in Java
Verwenden Sie Stream in Java?
So konvertieren Sie ein Array von Strings mit der Stream-API in ein Array von Objekten
Vergleich der Thread-Implementierungsmethoden in Java und der Lambda-Ausdrucksmethode