توفر جافا طرقا مختلفة للعمل مع مجموعات البيانات ، ومن المهم معرفة كيفية مقارنتها. يمكن أن تكون مقارنة المجموعات مفيدة في العديد من المواقف ، على سبيل المثال ، عند البحث عن الاختلافات بين نسختين من البيانات أو عند إجراء عمليات على كائنات متشابهة.
في هذا الدليل ، سننظر في طرق مختلفة لمقارنة مجموعتين في جافا. سوف نتعلم كيفية مقارنة المجموعات حسب المحتوى والحجم وترتيب العناصر. وسوف ننظر أيضا في أدوات المقارنة المختلفة التي تقدمها جافا ، مثل يساوي() وطرق هاشكود ().
أولا ، سننظر في كيفية مقارنة مجموعتين حسب المحتوى. جافا لديها يساوي () الأسلوب الذي يقارن مجموعتين على أساس قيم عناصرها. سوف نتعلم كيفية استخدام هذه الطريقة والنظر في حدودها. سننظر أيضا في كيفية استخدام طريقة هاشكود () لمقارنة المجموعات.
من المهم ملاحظة أن مقارنة المجموعات في جافا تعتمد على الفئة المحددة للمجموعة وأنواع البيانات المخزنة بداخلها. يمكن أن توفر فئات التجميع المختلفة طرقا ووظائف مختلفة لمقارنة المجموعات.
- أساسيات مقارنة المجموعات في جافا
- نهج لمقارنة المجموعات
- 1. بناء حلقات لمقارنة العناصر
- 2. استخدام طرق مقارنة المجموعة
- 3. استخدام مكتبات الجهات الخارجية
- الاستنتاجات
- طرق مدمجة لمقارنة المجموعات
- يساوي()
- هاشكود()
- يحتوي على كل()
- إسمبتي()
- الحجم()
- مقارنة المجموعات باستخدام الحلقات
- قواعد لمقارنة مجموعات المستخدمين
- سؤال وجواب
- ما هي الطريقة المستخدمة لمقارنة مجموعتين في جافا?
- ما هي الطرق الأخرى لمقارنة المجموعات الموجودة في جافا?
- هل من الممكن لتخصيص المقارنة بين المجموعات في جاوة?
- ما هو الفرق بين يساوي () طريقة ويحتوي على () طريقة عند مقارنة مجموعات?
أساسيات مقارنة المجموعات في جافا
عند العمل مع المجموعات بلغة جافا ، غالبا ما يكون من الضروري مقارنة مجموعتين وتحديد أوجه التشابه أو الاختلاف بينهما. مختلف الأساليب والأدوات التي تقدمها جافا يمكن استخدامها لهذه المهمة.
فيما يلي بعض الطرق الأساسية التي يمكن استخدامها لمقارنة المجموعات في جافا:
- يساوي(): تستخدم هذه الطريقة لمقارنة مجموعتين من أجل المساواة. يقارن محتويات المجموعات ، وليس الإشارات إلى الكائنات. لكي تعمل هذه الطريقة بشكل صحيح ، يجب إعادة تعريفها في فئة عنصر المجموعة.
- يحتوي على الكل (): تتحقق هذه الطريقة مما إذا كانت مجموعة واحدة تحتوي على جميع عناصر مجموعة أخرى. في حالة وجود جميع العناصر ، ترجع الطريقة صحيحة ، وإلا فهي خاطئة.
- المساواة غير مرتبة (): تقارن هذه الطريقة مجموعتين للمساواة ، متجاهلة ترتيب العناصر. هذا يعني أن العناصر قد تكون بترتيب مختلف ، ولكن إذا كانت جميع العناصر موجودة ، فإن الطريقة تعود بشكل صحيح.
بالإضافة إلى هذه الطرق ، يمكن مقارنة المجموعات بالتكرار من خلال عناصر المجموعة ومقارنة كل عنصر على حدة. للقيام بذلك ، يمكنك استخدام الحلقات أو الطرق التي توفرها الواجهة القابلة للتكرار ، مثل فوريش().
يمكنك أيضا استخدام مجموعات أباتشي كومنز أو مكتبة الجوافة لمقارنة المجموعات ، والتي توفر وظائف إضافية وواجهة برمجة تطبيقات ملائمة للعمل مع المجموعات في جافا.
اعتمادا على المهمة المحددة ، قد يختلف اختيار طريقة مقارنة المجموعات. قد تكون بعض الطرق أكثر ملاءمة لأنواع معينة من المجموعات أو شروط معينة.
بغض النظر عن الطريقة المختارة ، من المهم أن تتذكر أنه عند مقارنة المجموعات في جافا ، يجب أن تأخذ في الاعتبار تفاصيل العمل مع مراجع الذاكرة والكائنات. لذلك ، قد تتطلب المقارنة الصحيحة للمجموعات تجاوز الطرق المتساوية () أو الهاشكود () أو إضافة فحوصات إضافية.
نهج لمقارنة المجموعات
عند العمل مع المجموعات بلغة جافا ، غالبا ما يكون من الضروري مقارنة مجموعتين وتحديد أوجه التشابه أو الاختلاف بينهما. في هذا القسم ، سننظر في عدة طرق لمقارنة المجموعات.
1. بناء دورات لمقارنة العناصر
.
، يمكنك تصفح كل عنصر في قائمة واحدة والتحقق من وجوده في قائمة أخرى:
قائمة أريليست 1 = أريليست جديدة();
قائمة أريليست 2 = أريليست جديدة();
// ملء القوائم...
// مقارنة القوائم
ل (عدد صحيح البند: قائمة1) {
إذا (!قائمة2.يحتوي على (البند)) {
النظام.خارج.برينتلن ("العنصر" + العنصر + "غير موجود في القائمة الثانية");
}
}
هي عدد العناصر في كل مجموعة. لذلك ، مع وجود كمية كبيرة من البيانات ، قد يكون هذا النهج غير فعال.
2. استخدام طرق مقارنة المجموعة
، مما يسمح لك بمقارنة مجموعتين للمساواة بين العناصر أو التحقق مما إذا كانت مجموعة واحدة تحتوي على جميع عناصر المجموعة الأخرى ، على التوالي.
على سبيل المثال:
قائمة أريليست 1 = أريليست جديدة();
قائمة أريليست 2 = أريليست جديدة();
// ملء القوائم...
// مقارنة القوائم حسب العناصر
منطقية تساوي = قائمة1.يساوي (القائمة 2);
منطقية تحتوي علىكل = قائمة1.يحتويجميع (قائمة2);
تحتوي منطقية على كل 2 = قائمة2.يحتوي على الكل (قائمة1);
يتحقق مما إذا كانت مجموعة واحدة تحتوي على جميع عناصر مجموعة أخرى ، بغض النظر عن الترتيب.
هي عدد العناصر في كل مجموعة ، مما يجعلها أكثر كفاءة من النهج السابق.
3. استخدام مكتبات الجهات الخارجية
إذا كنت بحاجة إلى مقارنة مجموعة أكثر تعقيدا ، فيمكنك استخدام مكتبات الجهات الخارجية مثل مجموعات أباتشي كومونز أو الجوافة. توفر هذه المكتبات العديد من الوظائف المفيدة للعمل مع المجموعات ، بما في ذلك طرق المقارنة.
، والتي ترجع الفرق بين مجموعتين:
مجموعة مجموعة 1 = هاشست جديد ();
مجموعة مجموعة 2 = هاشست جديد ();
// مجموعات التعبئة...
// مقارنة المجموعات
تعيين الفرق = مجموعات.متماثلالفرق (مجموعة1 ، مجموعة2);
سيعود مجموعة من العناصر الموجودة في واحدة فقط من المجموعات.
يمكن أن يكون استخدام مكتبات الجهات الخارجية مفيدا إذا كنت بحاجة إلى مقارنة المجموعات لظروف أكثر تعقيدا أو إذا كنت بحاجة إلى وظائف إضافية للعمل مع المجموعات.
الاستنتاجات
يمكن تنفيذ مقارنة المجموعات في جافا بطرق مختلفة ، اعتمادا على الوظيفة المطلوبة وكفاءة الخوارزمية. في هذا القسم ، نظرنا في ثلاث طرق: استخدام الحلقات ، وطرق مقارنة المجموعات من واجهة برمجة تطبيقات جافا ، واستخدام مكتبات الجهات الخارجية. يعتمد اختيار النهج على المهمة والمتطلبات المحددة للمشروع.
طرق مدمجة لمقارنة المجموعات
يوفر جافا عدة طرق مدمجة لمقارنة المجموعات. تسمح لك هذه الطرق بمقارنة عناصر مجموعتين بسرعة وسهولة والحصول على معلومات حول الاختلافات بينهما. بعض هذه الطرق مذكورة أدناه:
يساوي(
) طريقة يساوي () يسمح لك لمقارنة مجموعتين للمساواة. يعود صحيحا إذا كانت كلتا المجموعتين تحتويان على نفس العناصر بنفس الترتيب ، وخطأ خلاف ذلك. عند مقارنة العناصر ، يتم استخدام طريقة المساواة() لفئتها.
هاشكود()
يتم استخدام طريقة هاشكود () لمقارنة رموز التجزئة لمجموعتين. رمز التجزئة هو قيمة رقمية يتم حسابها بناء على محتويات المجموعة. إذا كانت رموز التجزئة للمجموعتين متساوية ، فمن المحتمل جدا أن تكون عناصر المجموعات متساوية أيضا.
يحتوي على كل()
طريقة إينفينسال () يتحقق ما إذا كانت مجموعة واحدة تحتوي على كافة عناصر مجموعة أخرى. يعود صحيحا إذا كانت جميع عناصر المجموعة الثانية موجودة في المجموعة الأولى ، وخطأ خلاف ذلك.
إسمبتي()
تسمح لك طريقة إيسمبتي () بالتحقق مما إذا كانت المجموعة فارغة. يعود صحيحا إذا كانت المجموعة لا تحتوي على عناصر ، وخطأ خلاف ذلك.
ترجع طريقة الحجم() عدد العناصر في المجموعة. يمكن استخدامه لمقارنة أحجام مجموعتين.
هذه ليست سوى بعض الطرق المضمنة لمقارنة المجموعات في جافا. يمكنك أيضا استخدام عمليات المقارنة مثل = = و != لمقارنة المجموعات ، إلا أنها تقارن الإشارات إلى الكائنات ، وليس محتوياتها.
مقارنة المجموعات باستخدام الحلقات
هناك عدة طرق لمقارنة مجموعتين في جافا. واحدة من أبسط الطرق وأكثرها قابلية للفهم هي استخدام الحلقات. باستخدام الحلقات ، يمكنك الذهاب من خلال عناصر كل مجموعة ومقارنتها.
فيما يلي مثال على استخدام الحلقات لمقارنة مجموعتين:
- نحن بصدد إنشاء مجموعتين نريد المقارنة بينهما. على سبيل المثال ، قائمة مجموعة1 وقائمة مجموعة2.
- نحن نستخدم ل-كل حلقة للذهاب من خلال عناصر المجموعة الأولى:
- لكل عنصر من عناصر المجموعة ، نستخدم طريقة يحتوي () للتحقق مما إذا كان هذا العنصر موجودا في المجموعة الثانية. إذا تم احتواء العنصر ، فإننا نواصل تنفيذ الحلقة.
- إذا لم يتم احتواء العنصر ، فإننا نخرج رسالة مفادها أن المجموعات ليست متساوية.
- بعد الانتهاء من كل حلقة ، نتحقق مما إذا كانت المجموعة الثانية تحتوي على جميع عناصر المجموعة الأولى. للقيام بذلك ، ونحن نستخدم ل-كل حلقة للذهاب من خلال عناصر المجموعة الثانية ويحتوي على() طريقة للتحقق.
- إذا لم يتم تضمين عنصر واحد على الأقل من المجموعة الأولى في المجموعة الثانية ، فإننا نخرج رسالة مفادها أن المجموعات ليست متساوية.
- إذا انتهت كلتا الحلقتين دون عرض الرسائل ، فإن المجموعات متساوية.
مثال رمز يوضح مقارنة المجموعات باستخدام الحلقات:
قائمة المجموعة 1 = قائمة جديدة ();
قائمة المجموعة 2 = قائمة جديدة ();
// Добавляем элементы в коллекции
مجموعة1.إضافة ("1 1");
مجموعة1.إضافة ("Элемент 2");
مجموعة1.إضافة ("Элемент 3");
مجموعة2.إضافة ("1 1");
مجموعة2.إضافة ("Элемент 2");
مجموعة2.إضافة ("Элемент 3");
// Сравниваем коллекции
منطقية تساوي = صحيح;
ل (عنصر السلسلة: مجموعة1) {
إذا (!مجموعة2.يحتوي على (عنصر)) {
يساوي = خطأ;
استراحة;
}
}
إذا (متساوي) {
ل (عنصر السلسلة: جمع2) {
إذا (!مجموعة1.يحتوي على (عنصر)) {
يساوي = خطأ;
استراحة;
}
}
}
إذا (متساوي) {
النظام.خارج.برينتلن ("المجموعات متساوية");
} آخر {
النظام.خارج.برينتلن ("المجموعات ليست متساوية");
}
نتيجة لتنفيذ هذا الرمز ، سيتم عرض الرسالة "المجموعات متساوية" ، حيث تحتوي كلتا المجموعتين على نفس العناصر.
تعد مقارنة المجموعات باستخدام الحلقات طريقة بسيطة ومباشرة ، ولكنها قد لا تكون فعالة للمجموعات الكبيرة. في هذه الحالة ، يوصى باستخدام طرق خاصة من فئات المرافق ، على سبيل المثال ، الطرق المتساوية() من فئة المجموعات.
قواعد لمقارنة مجموعات المستخدمين
عند مقارنة مجموعات المستخدمين في جافا ، يجب مراعاة القواعد التالية:
- من أجل المقارنة بشكل صحيح مع بعضها البعض.
- . يجب أن تكون كلتا الطريقتين متسقتين بحيث يكون للكائنات المتساوية نفس رمز التجزئة.
- وأن تكون قابلة للمقارنة مع بعضها البعض.
- ، والتي تتعامل بشكل صحيح مع فارغة.
- ، قم بتخزين العناصر بترتيب معين. في حالة مقارنة هذه المجموعات ، من الضروري أخذ هذا الترتيب في الاعتبار ومقارنة كل عنصر على حدة.
سيسمح لك اتباع هذه القواعد بمقارنة مجموعات المستخدمين في جافا بشكل صحيح وموثوق.
سؤال وجواب
ما هي الطريقة المستخدمة لمقارنة مجموعتين في جافا?
لمقارنة مجموعتين في جافا ، يمكنك استخدام طريقة يساوي ().
ما هي الطرق الأخرى لمقارنة المجموعات الموجودة في جافا?
جافا أيضا يحتوي على جميع () ، ريموفال() و ريتينال () الأساليب التي تسمح لك لمقارنة المجموعات على أساس المحتوى.
هل من الممكن لتخصيص المقارنة بين المجموعات في جاوة?
نعم ، في جافا ، يمكنك تخصيص مقارنة المجموعات من خلال تنفيذ المقارنة أو واجهة قابلة للمقارنة.
ما هو الفرق بين يساوي () طريقة ويحتوي على () طريقة عند مقارنة مجموعات?
تقارن طريقة يساوي() مجموعتين لمطابقة كاملة ، بينما تتحقق طريقة كونتيونسال() مما إذا كانت مجموعة واحدة تحتوي على جميع عناصر المجموعة الأخرى.