المقارنة مقابل المقارنة: الفرق بين المقارن والمقارن
نشرت: 2020-12-30جدول المحتويات
المقارنة والمقارنة: نظرة عامة
المقارنة والمقارنة كلاهما واجهات في لغة برمجة Java لتحديد السلوك الذي سيتم تنفيذ الفصول فيه. بينما يتم استخدام المقارنة في الكائنات التي يتم ترتيبها بشكل طبيعي ، تقوم واجهة المقارنة بتنفيذ الفرز عن طريق أخذ سمات الكائن في الاعتبار. علاوة على ذلك ، يأخذ التصنيف المقارن في الاعتبار كائنات من فئتين مختلفتين وتقارن المقارنة بين الكائنات باستخدام المرجع "هذا".
الآن ، بعد أن أنشأنا المبدأ الأساسي الذي تعمل عليه كلتا الواجهتين ، دعونا نلقي نظرة على الاختلافات بين الاثنين.
الفرق بين المقارنة والمقارنة
طريقة الفرز
قابلة للمقارنة
يستخدم وظيفة المقارنة () للفرز. هذه هي الطريقة الوحيدة الموجودة في واجهة الفرز المقارن.
مقارنة (Object O) يأخذ كائنًا كوسيطة ويقارنه بآخر من نفس النوع. إذا كان الكائن عبارة عن سلسلة ، فيمكنك فقط مقارنته بكائن آخر من نفس النوع. نفس الشيء هو الحال مع كائن int وما إلى ذلك. () ترجع قيمة سالبة أو موجبة أو صفرية بناءً على نتيجة الفرز.
المقارن
هناك طريقتان لفرز العناصر في المقارنة: قارن () و يساوي ().
قارن (كائن O1 ، كائن O2) يأخذ في الاعتبار وسيطتين كمدخلات ويوفر المخرجات المطلوبة. تقوم بإرجاع عدد صحيح للإشارة إلى كيفية تطابق الوسيطة الأولى مع الثانية.

- إذا كانت O1 أقل من O2 ، فإنها تُرجع عددًا صحيحًا سالبًا.
- إذا كانت O1 أكبر من O2 ، فستُرجع عددًا صحيحًا موجبًا.
- إذا كانت O1 تساوي O2 ، فإنها ترجع 0.
يساوي (كائن) يأخذ في الاعتبار كائنًا كمدخل ويقارنه بالمقارن. تقوم بإرجاع True إذا كان الكائن يساوي المقارنة. كما يضمن عدم تغيير الترتيب.
العبوة المستخدمة
قابلة للمقارنة
إنه موجود في حزمة java.lang من Java.
المقارن
إنه موجود في حزمة java.util من Java.

الترتيب والفئة
قابلة للمقارنة
- يأخذ في الاعتبار الأشياء التي تتبع الترتيب الطبيعي ، أي تميل إلى تصنيف نفسها. على سبيل المثال ، الترتيب الأبجدي أو الترتيب العددي في حالة الأسماء ، السعر ، الراتب ، رقم اللفة ، العمر ، إلخ.
- من المهم أيضًا أن كلا الكائنين ينتميان إلى نفس الفئة.
- الواجهة القابلة للمقارنة تقارن مرجع "هذا" مع الكائن المحدد.
- الفرز باستخدام المقارنة يؤثر على الفئة الفعلية.
المقارن
- تستخدم هذه الواجهة بشكل أساسي لفرز سمات كائنات محددة. لا يحتاجون إلى نظام طبيعي ؛ يمكن تخصيصها.
- يجب أن يكون منطق الفرز في فئات منفصلة لمقارنة سمات كائنات الفئتين في الاعتبار.
- الطبقة الفعلية لا تزال غير متأثرة.
التسلسلات والمجموعات
قابلة للمقارنة
- وهو يدعم تسلسل الفرز الفردي فقط. هذا يعني أنه لا يمكنك النظر إلا في عنصر واحد أو سمة واحدة من مجموعة مثل رقم أو عمر أو رتبة.
- لفرز مجموعة من العناصر أو المصفوفات أو القائمة ، يمكنك استخدام المجموعة. فرز (قائمة) أو صفائف. قائمة الفرز). هذا سيجعل الأشياء في ترتيبها الطبيعي .
المقارن
- وهو يدعم تسلسلات الفرز المتعددة. هذا يعني أنه يمكنك النظر في عناصر أو سمات متعددة لمجموعة مثل رقم اللف والعمر والرتبة.
- يمكنك استخدام collection.sort (قائمة ، مقارنة) لفرز مجموعة.
فيما يلي ملخص لجميع الاختلافات بين المقارنة والمقارنة

| قابلة للمقارنة | المقارن |
| صفقة | |
| Java.lang | Java.util |
| طريقة الفرز | |
| قارن ب() | قارن() |
| ترتيب | |
| ترتيب طبيعي | ترتيب مخصص |
| نوع الكائن | |
| يجب أن تكون الكائنات في المقارنة من نفس النوع | يتم النظر في كائنات من فئات مختلفة |
| تؤثر على الفصل | |
| يتم تعديل الفصل | لا يؤثر على الفصل |
| تسلسل الفرز | |
| تسلسل الفرز الفردي | تسلسل متعدد الفرز |
سجل في دورات تطوير البرمجيات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
أشياء يجب وضعها في الاعتبار أثناء استخدام المقارنة والمقارنة في Java
- الواجهة القابلة للمقارنة هي التي تختارها إذا كنت تبيع لإجراء مقارنة قياسية لفئة معينة.
- يسمح المقارنة باستخدام لامدا.
- يمكنك استخدام طريقة المقارنة () لتنفيذ كل من المقارنة والقابلة للمقارنة.
- يوصى باستخدام واجهة المقارنة إذا كنت تبحث عن مرونة في الفرز
خاتمة
في معظم سيناريوهات الحياة الواقعية ، عندما نقوم بالفرز ، عادة ما يكون لدينا مجموعة متنوعة من المعلمات في الاعتبار. أيضًا ، نظرًا لاستخدام نتائج قابلة للمقارنة في الفرز الافتراضي ولا يمكن تغييرها ديناميكيًا ، فهي أقل عملية من المقارنة التي تتيح لك التخصيص والاختيار من بين طرق الفرز المختلفة لتناسب متطلباتك. لهذا السبب وحده ، يجد Comparator تطبيقات عملية أكثر من تطبيقات المقارنة.
اقرأ: بعض مشاريع جافا المثيرة للاهتمام لتتصفحها
إذا كنت مهتمًا بمعرفة المزيد حول Java ، وتطوير المكدس الكامل ، فراجع برنامج upGrad & IIIT-B Executive PG في تطوير البرامج الكامل المكدس المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، و 9+ مشاريع ، والمهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.
ما هي الواجهات في لغات البرمجة؟
هل تعلم جافا أمر سهل؟
تقدم Java نموذج برمجة موجه للكائنات ، مما يسمح حتى لمطوري Java الأقل خبرة بالتفكير وإنشاء برامج مثل مطور متمرس. نشأت Java من لغات البرمجة C و C ++ التي تُستخدم على نطاق واسع اليوم أيضًا. في حين أن Java لديها بعض أوجه التشابه مع C و C ++ من حيث الوظائف ، فقد نمت لتصبح لغة أكثر سهولة في الاستخدام. نظرًا لأن البرمجة الموجهة للكائنات تجعل من السهل الحفاظ على الكود الحالي وتعديله ، فقد يبدأ حتى المبرمجون المبتدئون العمل في مشاريع الشركة. من غير المرجح أن يواجه المطورون الجدد أخطاء غير متوقعة في وقت التشغيل حيث تم التحقق من وجود أخطاء في Java قبل التنفيذ. تجبر Java المبرمجين على تحديد جميع عناصر الكود بشكل صحيح ، مما يقلل من فرص الأخطاء مع نمو التطبيقات.
لماذا الفرز ضروري في جافا؟
يشير الفرز إلى مجموعة من الأساليب لإعادة ترتيب أماكن العناصر في مصفوفة بحيث تكون جميعها بترتيب تصاعدي أو تنازلي. يجب أن تضمن خوارزمية الفرز اللائق أيضًا بقاء العناصر التي لها نفس القيمة في المصفوفة المرتبة بنفس الترتيب. الفرز مطلوب لفهم هياكل البيانات والخوارزميات في العمق. تعد Java كلغة برمجة متعددة الاستخدامات بشكل استثنائي ويمكن استخدامها لتنفيذ عدد من خوارزميات الفرز. غالبية هذه الخوارزميات متعددة الاستخدامات ويمكن تنفيذها بطريقة متكررة ومتكررة.
