شجرة جافا الثنائية، كيفية تنفيذ العقدة؟
-
18-09-2019 - |
سؤال
في فئة الأشجار، أفترض أن مقارنة عقدة، لأنك تعرف البحث وإضافة عناصر. لدي بعض المشكلات مع كيفية جعلها قابلة للمقارنة. عندما يضيف المرء البيانات (عامة، أي شيء) إلى شجرة الشجرة تستدعي فئة الأشجار مما يجعل كائن عقدة جديد. كيف يمكنني أن أعلن البيانات / العنصر المتغير في فئة العقدة بحيث يكون من النوع E (أي شيء) وما زالت قابلة للمقارنة؟ بجدية، لقد حاولت ذهابا وإيابا دون إبرام أي شيء.
المحلول
ليس كل شيء Comparable
. وبعد الاحتياجات الخاصة بك هو متناقض الذاتي. يمكنك تقييد E
أن تكون قابلة للمقارنة بإعلان المعلمة العامة مثل:
< E extends Comparable<E> >
بهذه الطريقة، يمكن للمستهلكين من الفصل استخدام جميع الطبقات التي تنفذ Comparable
واجهة معها. ستكون قادرا على الوصول إلى compareTo
طريقة على الأشياء المكتوبة E
.
لا تنتمي إلى StackOverflow