Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.kodilla.good.patterns.flights;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.stream.Collectors;
- public class FlightsApp {
- private FlightDb flightDb;
- public FlightsApp(FlightDb flightDb) {
- this.flightDb = flightDb;
- }
- public List<Flight> flightsFrom(String airportForDeparture) {
- return flightDb.getFlights().stream()
- .filter(f -> f.getAirportForDeparture().equals(airportForDeparture))
- .collect(Collectors.toList());
- }
- public List<Flight> flightsTo(String airportForArrival) {
- return flightDb.getFlights().stream()
- .filter(f -> f.getAirportForArrival().equals(airportForArrival))
- .collect(Collectors.toList());
- }
- //Warsaw > LA > Berlin
- public List<String> flightsThrough(String departure, String arrival) {
- List<String> middlewareAirports = flightsFrom(departure).stream()
- .map(flight->flight.getAirportForArrival())
- // .peek(f-> System.out.println(f))
- .collect(Collectors.toList());
- List<String> middlewareAriportFromBack = flightsTo(arrival).stream()
- .map(flight -> flight.getAirportForDeparture())
- .peek(f-> System.out.println(f))
- .collect(Collectors.toList());
- List<String> possibleMiddlewareAirport = new ArrayList<>();
- for(String first : middlewareAirports){
- for(String second : middlewareAriportFromBack){
- if(first.equals(second)){
- possibleMiddlewareAirport.add(first);
- }
- }
- }
- return possibleMiddlewareAirport;
- };
- }
Add Comment
Please, Sign In to add comment