Colector de estadísticas genérico con interfaz funcional
Java
Hard
generics
Tarea «Colector de estadísticas genérico con interfaz funcional»
Implemente una clase parametrizada `StatisticsCollector<T>`, que acepta objetos arbitrarios y calcula estadísticas: cantidad, suma (si T extends Number, de lo contrario null), mínimo y máximo (si T extends Comparable). Adicionalmente, implemente el método `filter(Predicate<T>)`, que devuelve un nuevo StatisticsCollector con los objetos que pasaron el filtro. Datos de entrada: un número n, luego n líneas, cada línea contiene un número entero o una cadena (sin espacios). Después de recolectar todos los elementos, muestre las estadísticas: count, sum (para números), min, max (si Comparable). Si el tipo no soporta la operación, muestre "N/A". Use genéricos y comodines.
Formato de entrada
En la primera línea, un número entero n (1 ≤ n ≤ 1000). Luego n líneas, cada una contiene un valor (número entero o cadena).
Formato de salida
Para los objetos recolectados, muestre 4 líneas: count, sum ("N/A" si no son números), min ("N/A" si no es Comparable), max ("N/A" si no es Comparable).
Ejemplos
Ejemplo 1
ENTRADA
3
100
hello
200
SALIDA
3
300
100
200
main.java