sagen, wir haben eine Customer
Klasse:in flatMap während Array-Mapping
public class Customer {
private Car[] cars;
// getter, setter, constructor
}
und Sammlung von Kunden, die wir auf Autos kartieren müssen.
Ich tue es Zeit irgendwie so:
Collection<Customer> customers = ...
customers.stream().flatMap(
customer -> Arrays.stream(customer.getCars())
)...
Es funktioniert gut, aber der Code sieht nicht elegant. Ich würde es wirklich gern durch Code ersetzen, der Methodenverweise verwendet, die normalerweise lesbarer und kompakter aussehen. Aber die Verwendung eines Array-Feldes macht es schwierig.
Frage: gibt es eine Möglichkeit, die flatMap
Anruf zu verbessern, so dass es besser lesbar/kompakt/klar sein wird?
Nun können Sie 'customers.stream(). Map (Customer :: getCars) .flatMap (Arrays :: stream)' aber IMO Ihre Lösung ist lesbar und elegant. –