-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFilterFlightGroundTimeTwoHours.java
More file actions
25 lines (24 loc) · 1.11 KB
/
FilterFlightGroundTimeTwoHours.java
File metadata and controls
25 lines (24 loc) · 1.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.gridnine.testing;
import java.time.*;
import java.time.temporal.ChronoUnit;
import java.util.*;
//3.общее время, проведённое на земле превышает два часа
// (время на земле — это интервал между прилётом
// одного сегмента и вылетом следующего за ним)
public class FilterFlightGroundTimeTwoHours implements FlightFilterInt {
@Override
public List<Flight> filter(List<Flight> list) {
List<Flight> flightFilter = new ArrayList<>();
for (Flight f : list)
for(int i = 0; i < f.getSegments().size() - 1; i++) {
LocalDateTime arrivalTime = f.getSegments().get(i).getArrivalDate();
LocalDateTime departureTime = f.getSegments().get(i + 1).getDepartureDate();
long groundTime = ChronoUnit.HOURS.between(arrivalTime, departureTime);
if(groundTime >= 2) {
flightFilter.add(f);
break;
}
}
return flightFilter;
}
}