Обобщенный сборщик статистики с функциональным интерфейсом
Java
Сложный
generics
Задача «Обобщенный сборщик статистики с функциональным интерфейсом»
Реализуйте параметризованный класс `StatisticsCollector<T>`, который принимает произвольные объекты и вычисляет статистику: количество, сумму (если T extends Number, иначе null), минимум и максимум (если T extends Comparable). Дополнительно реализуйте метод `filter(Predicate<T>)`, возвращающий новый StatisticsCollector с объектами, прошедшими фильтр. Входные данные: число n, затем n строк, каждая строка содержит либо целое число, либо строку (без пробелов). После сбора всех элементов выведите статистику: count, sum (для чисел), min, max (если Comparable). Если тип не поддерживает операцию, выведите "N/A". Используйте generics и wildcards.
Формат ввода
В первой строке целое число n (1 ≤ n ≤ 1000). Затем n строк, каждая содержит одно значение (целое число или строка).
Формат вывода
Для собранных объектов выведите 4 строки: count, sum ("N/A" если не числа), min ("N/A" если не Comparable), max ("N/A" если не Comparable).
Примеры
Пример 1
ВВОД
3
100
hello
200
ВЫВОД
3
300
100
200
main.java