Java 9 Optional :: stream

Es gibt Unternehmens- und Mitarbeiterklassen, wie unten gezeigt, und es gibt viele Mitarbeiter im Unternehmen.

Employee.java


public class Employee {
  private String id;
  private String name;
}

Company.java


public class Company {
  private List<Employee> employees = new ArrayList<>();
  
  public Option<Employee> getEmployeeById(String employeeId) {
    return employees.stream().filter(e -> e.id.equals(employeeId)).findFirst()
  }

  public List<Employee> getEmployeeList(List<String> employeeIds) {
  }
}

Als nächstes möchte ich die Liste von "Employee" in die Liste von "employeeIds" aufnehmen, "getEmployeeList" implementieren und Java8 und Java9 implementieren.

Java8.java


public List<Employee> getEmployeeList(Collection<String> employeeIds) {
  return employeeIds.stream()
    .map(this::getEmployeeById)
    .filter(Optional::isPresent)
    .map(Optional::get)
    .collect(toList());
}

Java9.java


public List<Employee> getEmployeeList(Collection<String> employeeIds) {
  return employeeIds.stream()
    .map(this::getEmployeeById)
    .flatMap(Optional::stream)
    .collect(toList());
}

Java 9s Optional :: stream verkürzt den Code für getEmployeeList.

Recommended Posts

Java 9 Optional :: stream
Probieren Sie Java 8 Stream aus
Java Optionaler Typ
Java 8 studieren (optional)
Java Stream API
Java 8 studieren (Stream)
Java Stream-Beendigung
[Java] Stream-Verarbeitung
[Java] Optionales Memorandum
[Java] Stream Collectors Hinweis
[Java] Stream API-Stream-Generierung
[Java] Stream API / Map
Java-Dokument von Java anzeigen Optional
Informationen zur Java8-Stream-Reduzierung
Grobe Zusammenfassung des Java8-Streams
Schreiben Sie Java Try-Catch mit Optional neu
[Java11] Stream-Zusammenfassung - Vorteile von Stream -
Verwendung von Java Optional
Java Stream API Spickzettel
Java
Java Stream kann nicht wiederverwendet werden.
[Java] Einführung in die Stream-API
Java8 startet jetzt ~ Optional ~
Vergleichen Sie Java 8 Optional mit Swift
Java-Anwendung für Anfänger: Stream
So behandeln Sie Ausnahmen mit Java 8 Stream oder Optional kühl
Holen Sie sich mit Java eine nicht leere Sammlung aus einem optionalen Stream
[Java 8] Doppelte Löschung (& doppelte Überprüfung) mit Stream
[java8] Um die Stream-API zu verstehen
Über Lambda, Stream, LocalDate von Java8
[Einführung in Java] Informationen zur Stream-API
[Java] Elementexistenzprüfung mit Stream
Grundlegende Verwendung von Java Optionaler Teil 1
Ich habe versucht, die Java8 Stream API zu verwenden
Grundlegender Verarbeitungsablauf von Java Stream
Java 8 ~ Stream API ~ startet jetzt
Java-Array / Liste / Stream gegenseitige Konvertierungsliste
Java8-Listenkonvertierung mit Stream Map
Verwenden Sie Stream in Java?
Java lernen (0)
Java studieren ―― 3
[Java] -Array
[Java] Anmerkung
[Java] Modul
Java-Array
Java-Tipps, Tipps
Java-Methoden
Java-Methode
Java (Konstruktor)
Java-Array
[Java] ArrayDeque
Datenverarbeitung mit der Stream-API von Java 8
Java (überschreiben)
Java (Methode)
Java Day 2018
Java (Array)
Java statisch
Java-Serialisierung