Hallo, ich möchte verschachtelte for-Schleifen in einen Stream umwandeln und die Objekte in einer Liste sammeln. Wie ich filtere usw. weiß ich jedoch nicht wie ich verschachtelte for-schleifen in einem Stream umschreibe. Hier mein Code und mein Ansatz in Kommentarzeilen:
Das Ziel ist es nur die PerformanceData-Objekte zurückgeben, welche in der
gegebenen Kategorie sind. Aber „cat“ ist eine kommaseparierte Liste an Kategorien, in welcher sich ein Event (/Funktion/etc.) befindet.
Java:
public static List<PerformanceData> filterByCat(List<PerformanceData> input, String s) {
// var filterByCatListe = input
// .stream()
// .filter(x -> (cat.equals(s)))
// .collect(Collectors.toList());
// return filterByCatListe;
ArrayList<PerformanceData> filterByCatListe = new ArrayList<>();
for (var x: input) {
var Liste = new ArrayList<>(Arrays.asList(x.cat().split(",")));
for (var cat : Liste) {
if (cat.equals(s)) {
filterByCatListe.add(x);
}
}
} return filterByCatListe;
}
Das Ziel ist es nur die PerformanceData-Objekte zurückgeben, welche in der
gegebenen Kategorie sind. Aber „cat“ ist eine kommaseparierte Liste an Kategorien, in welcher sich ein Event (/Funktion/etc.) befindet.