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);
}
}
$ javac *.java
$ java Main
Schlüssel:Wert,Schlüssel:Wert,Ki:Baryu, KEY:VALUE
Recommended Posts