مُجمّع إحصائيات عام مع واجهة وظيفية

Java Hard generics

مهمة «مُجمّع إحصائيات عام مع واجهة وظيفية»

قم بتنفيذ الفئة الم parametrized `StatisticsCollector<T>`، التي تستقبل كائنات عشوائية وتحسب الإحصائيات: العدد، المجموع (إذا كان T يمتد Number، وإلا null)، الحد الأدنى والحد الأقصى (إذا كان T يمتد 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" إذا لم تكن قابلة للمقارنة)، max ("N/A" إذا لم تكن قابلة للمقارنة).

أمثلة

مثال 1

الإدخال
3 100 hello 200
الإخراج
3 300 100 200
main.java