通用统计收集器,带有函数式接口
Java
Hard
generics
任务 «通用统计收集器,带有函数式接口»
实现一个参数化类 `StatisticsCollector<T>`,它接收任意对象并计算统计信息:数量、总和(如果 T 继承自 Number,否则为 null)、最小值与最大值(如果 T 继承自 Comparable)。另外,实现一个方法 `filter(Predicate<T>)`,返回一个新的 `StatisticsCollector`,其中包含通过过滤器的对象。输入数据:一个整数 n,随后是 n 行,每行包含一个整数或一个字符串(不含空格)。收集所有元素后,输出统计信息:count、sum(针对数字)、min、max(如果实现了 Comparable)。如果类型不支持该操作,则输出 "N/A"。使用泛型和通配符。
输入格式
在第一行中,输入一个整数 n (1 ≤ n ≤ 1000)。随后输入 n 行,每行包含一个值(整数或字符串)。
输出格式
对于收集到的对象,输出4行:count、sum(如果不是数字则输出"N/A")、min(如果不是可比较类型则输出"N/A")、max(如果不是可比较类型则输出"N/A")。
示例
示例 1
输入
3
100
hello
200
输出
3
300
100
200
main.java