الفرق بين المقارنة والمقارنة في جافا

مؤلف: Laura McKinney
تاريخ الخلق: 1 أبريل 2021
تاريخ التحديث: 5 قد 2024
Anonim
6 Java compare with C++and JavaScript مقارنة بين الجافا واللغات الاخرى
فيديو: 6 Java compare with C++and JavaScript مقارنة بين الجافا واللغات الاخرى

المحتوى

تعتبر المقارنة والمقارنة كلاهما واجهات عامة في Java تستخدم لمقارنة عناصر بيانات الكائنات. واجهة المقارنة موجودة في الحزمة java.lang وواجهة المقارنة موجودة في الحزمة java.util. يتمثل الاختلاف الأساسي بين السطوح المقارنة وقارن المقارنة في أن الواجهة القابلة للمقارنة توفر تسلسل الفرز الواحد ، بينما توفر واجهة المقارنة تسلسل الفرز المتعدد. هناك بعض الاختلافات الأخرى بين واجهة المقارنة والمقارنة التي سوف ندرسها في مخطط المقارنة.


  1. رسم بياني للمقارنة
  2. تعريف
  3. الاختلافات الرئيسية
  4. خاتمة

رسم بياني للمقارنة

أساس للمقارنةمشابهالمقارنة
الأساسي تسمح واجهة المقارنة بتسلسل الفرز الوحيد.تسمح واجهة المقارنة بتسلسلات فرز متعددة.
حزم واجهة المقارنة موجودة في حزمة java.lang.واجهة المقارنة موجودة في حزمة java.util.
طرق تحتوي واجهة المقارنة على طريقة واحدة فقط
public int comparTo (Object obj)؛
تحتوي واجهة المقارنة على طريقتين
public int قارن (كائن obj1 ، كائن obj2)
منطقي يساوي (كائن obj)
التنفيذيتم تطبيق واجهة قابلة للمقارنة من قبل الفئة التي سيتم مقارنة كائناتها.يتم تطبيق واجهة المقارنة من قبل فئة sperate بدلاً من الفصل الذي تتم مقارنة كائناته.
مقارنة يقارن الأسلوب comparTo (Object obj) الكائن الذي يتم استخدامه لاستدعاء الطريقة مع الكائن المحدد الذي يتم تمريره إلى الطريقة.تقارن طريقة المقارنة (كائن obj1 ، كائن obj2) كلاً من الكائنات المحددة التي تم تمريرها إلى الطريقة.
قائمة / صفيفعندما يتعين مقارنة قائمة بالكائن ذي النوع القابل للمقارنة ، فإن فئة المجموعة توفر طريقة ، مثل Collections.sort (List lst).عندما يتعين مقارنة قائمة بالكائنات من النوع المماثل ، فإن فئة المجموعة توفر طريقة ، أي:
Collections.sort (قائمة ، المقارنة).


تعريف المقارنة

المقارنة هي واجهة متوفرة في حزمة java.lang. يقوم الفصل بتنفيذ واجهة المقارنة ، لفرز كائنها بالترتيب الطبيعي. الكائنات التي تم فرزها بالترتيب الطبيعي تعني أن الكائنات تتم مقارنتها بقيم ASCII الخاصة بها. الفئات التي تقوم بتطبيق الواجهة القابلة للمقارنة هي فئات البايت والحرف والمضاعفة والعوم والطويل والقصير والخيط والأعداد الصحيحة. تطبق الفئة Date و Calander أيضًا واجهة قابلة للمقارنة.

تحتوي الواجهة المقارنة على طريقة واحدة فقط هي "مقارنة الهدف" (Object obj). تقارن هذه الطريقة الكائن المستخدم لاستدعاء الطريقة مع الكائن المحدد في المعلمة. يكون بناء جملة الطريقة كما يلي:

public int comparTo (Object obj)؛

إرجاع الأسلوب CompareTo (كائن obj) 0، عندما يحتوي كل من الكائن المقارن بالطريقة على نفس القيمة ، فإنها تُرجع هاء قيمة إذا كان الكائن استدعاء أصغر من الكائن المحدد ثم إرجاع + هاء قيمة إذا كان كائن الاستدعاء له قيمة أكبر مقارنة بالكائن المحدد. توفر فئة المجموعات طريقة فرز لفرز عناصر القائمة. يمكن فرز عناصر القائمة (والمصفوفة) من النوع المتشابه باستخدام طريقة "Collections.sort (List lst)".


تعريف المقارنة

المقارنة هي واجهة متوفرة في حزمة java.util. لا يتم تطبيق "مقارنة المقارنة" على الفئة التي سيتم مقارنة كائناتها بدلاً من ذلك ، تطبق فئة منفصلة واجهة "المقارنة" بحيث يتم تطبيق منطق الفرز على كل عنصر من عناصر بيانات الكائن في فئة مختلفة. يحتوي المقارن على طريقتين كما يلي:

public int قارن (Object obj1 ، Object obj2) والمساواة المنطقية (Object obj)

تقارن طريقة المقارنة () أعلاه الكائن obj1 الأول ، مع الكائن الثاني obj2. طريقة المقارنة () ترجع 0 عندما يحتوي كل كائن مقارنة بالطريقة على نفس القيمة ، فإنها تُرجع هاء قيمة إذا كان الكائن obj1 أصغر من ذلك الكائن obj2 وإرجاع + هاء قيمة إذا كان الكائن obj1 له قيمة أكبر مقارنة بالكائن obj2. تتحقق أساليب equals () مما إذا كان الكائن المحدد يساوي كائن الاستدعاء. طريقة متساوية () ترجع صحيح إذا كان كلا الكائنات المقارنة متساويان فستعود خاطئة. توفر فئة المجموعات طريقة لفرز عناصر القائمة ونوع المقارنة. يتم فرز عناصر القائمة الخاصة بأنواع المقارنة باتباع الأسلوب Collections.sort (قائمة ، مقارنة).

  1. تسمح الواجهة القابلة للمقارنة بتسلسل الفرز الفردي مما يعني أنه يمكنك مقارنة عنصر بيانات واحد فقط للكائن في طريقة comparTo () من ناحية أخرى ، تسمح واجهة المقارنة بتسلسلات فرز متعددة متعددة مما يعني أنه يمكنك مقارنة عناصر بيانات متعددة للكائن.
  2. يتم تطبيق الواجهة القابلة للمقارنة من خلال الفصل الذي سيتم مقارنة كائناته لأن منطق الفرز محدد داخل نفس الفئة. من ناحية أخرى ، لا يتم تطبيق واجهة المقارنة من قبل الفئة التي سيتم مقارنة كائناتها لأن منطق الفرز محدد في الفئات المنفصلة حيث يحدد كل فئة الفرز على عنصر بيانات واحد من الكائن وتنفذ هذه الفئات المعرفة واجهة المقارنة .
  3. تقع واجهة المقارنة داخل حزمة java.lang ، بينما تقع واجهة المقارنة داخل حزمة java.util.
  4. تعلن واجهة المقارنة عن طريقة واحدة فقط هي "مقارنة إلى" (كائن obj) ، في حين أن واجهة "المقارنة" تعلن عن طريقتين: (كائن obj1 ، كائن obj2) وتساوي (كائن obj).
  5. تقارن طريقة ComparTo (Object obj) في Comparable طريقة استدعاء الكائن بالكائن المحدد الذي تم تمريره إلى الطريقة ، بينما تقوم طريقة المقارنة (Object obj1 ، Object obj2) بمقارنة الكائنات obj1 مع obj2 التي تم تمريرها إلى الطريقة.
  6. توفر الفئة Collections طريقة فرز "Collections.sort (List lst)" لفرز الكائنات من النوع المماثل. توفر الفئة Collections طريقة الفرز Collections.sort (قائمة ، المقارنة) لفرز الكائنات من نوع المقارنة.

خاتمة:

إذا كنت ترغب في فرز الكائنات بالترتيب الطبيعي ، فيمكنك استخدام الواجهة القابلة للمقارنة التي تريد فرز الكائنات بناءً على أي سمة ثم يتم استخدام واجهة المقارنة.