Back to questions
Junior
4
Что такое summarizingLong и LongSummaryStatistics?
Companies where asked
ИП Ганус Александр Андреевич
Answer from AI
sobes.tech AI
summarizingLong — это метод в Dart (часть пакета collection или стандартных библиотек), который позволяет собрать статистику по коллекции чисел типа long (в Dart это int).
LongSummaryStatistics — класс, который хранит агрегированные данные: количество элементов, сумму, минимальное и максимальное значения, а также среднее.
Пример использования в Dart:
import 'dart:math';
void main() {
List<int> numbers = [10, 20, 30, 40, 50];
var stats = numbers.fold(
LongSummaryStatistics(),
(LongSummaryStatistics acc, int value) => acc.accept(value),
);
print('Count: ${stats.count}');
print('Sum: ${stats.sum}');
print('Min: ${stats.min}');
print('Max: ${stats.max}');
print('Average: ${stats.average}');
}
class LongSummaryStatistics {
int count = 0;
int sum = 0;
int? min;
int? max;
LongSummaryStatistics accept(int value) {
count++;
sum += value;
min = (min == null || value < min!) ? value : min;
max = (max == null || value > max!) ? value : max;
return this;
}
double get average => count == 0 ? 0 : sum / count;
}
Таким образом, summarizingLong помогает быстро получить основные статистические показатели по набору чисел.