Можно ли использовать условие if в моей карте ниже?
public Map<LocalDate, Double> avarageTemperatures(LocalDate dateFrom, LocalDate dateTo) {
Map<LocalDate, Double> tempAverage = Data.stream()
.collect(Collectors.groupingBy(Weather::getDateTime,
Collectors.averagingDouble(Weather::getTemp)));
System.out.println("average: " + tempAverage);
return tempAverage;
}
Я хочу вернуть только даты и tempAverage для дат от datefrom
до dateTo
, что является вводом пользователем. Поэтому я хотел бы реализовать оператор if, например
for (Weather weather : Data){
if(!weather.getDateTime().isAfter(dateTo) && !weather.getDateTime().isBefore(dateFrom)){}
}
, где weatherData
- это ArrayList, содержащий даты и температуры. Мой класс погоды:
public class Weather {
private LocalDate dateTime;
private LocalTime time;
private double temperature;
private String tag;
//setter, getter, constructor
}
Даты имеют форму 1946-01-15, а температура формы -0,3.