Я пытаюсь выяснить временную сложность кода ниже. data
- это список, поэтому я предполагаю, что потоковый фильтр имеет временную сложность O (n), но как насчет groupingBy
и averagingInt
? groupingBy
O (1)? И какова общая сложность времени для процесса?
Map<LocalDate, Integer> Average = data.stream().filter(weather -> !weather.getDateTime().isAfter(date1) && !weather.getDateTime().isBefore(date2))
.collect(Collectors.groupingBy(Weather::getDateTime,
Collectors.averagingInt(Weather::getTemp)));