تعرف على ما هو HashSet في Java وكيف تبدأ به!



ستمنحك هذه المقالة حول HashSet في Java نظرة عامة كاملة على ما هو HashSet بالضبط في Java وكيفية تنفيذه. سيتحدث أيضًا عن الطرق المختلفة والمنشئات التي تدعمها فئة Java HashSet.

يعد HashSet في Java أحد أهم جوانب . يتم استخدامه عادةً لتخزين القيم الفريدة بطريقة غير مرتبة. من خلال وسيط هذا المقال على HashSet في Java ، سأقدم لك شرحًا كاملاً لما هو HashSet بالضبط وكيف يمكنك استخدامه في تطبيقك.

فيما يلي الموضوعات التي تم تناولها في هذه المقالة:





لنبدأ أولاً بفهم ماهية HashSet في Java.

HashSet في جافا



java.util.HashSet صف دراسي هو عضو في إطار عمل مجموعات Java الذييرث فئة AbstractSet وتنفذجلس واجهه المستخدم . إنه ينفذ ضمنيًا علامة التجزئة لإنشاء وتخزين مجموعة من العناصر الفريدة. Hashtable ليس سوى مثيل لفئة HashMap التي تستخدم آلية تجزئة لتخزين المعلومات داخل HashSet.

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

الآن من أجل فهم أفضل لـ HashSet في Java ، دعني أسرد بعضًا من ميزاته:



java scanner الحصول على الحرف التالي
  1. لا يسمح HashSet في Java بالقيم المكررة.
  2. يمكن أن تحتوي على قيم فارغة.
  3. لا تتبع HashSet ترتيب الإدراج لتخزين البيانات بدلاً من استخدام رمز التجزئة لفهرسة القيم بداخلها.
  4. إنه ليس متزامن مما يجعلها غير آمنة تلقائيًا.
  5. تقوم فئة HashSet أيضًا بتنفيذ Cloneable وواجهات قابلة للتسلسل.

الآن بعد أن أصبحت على دراية بما هو HashSet بالضبط في Java ، فلننتقل إلى أبعد من ذلك مع هذه المقالة ونزيل الغموض عن الاختلافات بين HashMap و HashSet في Java.

Java HashSet مقابل HashMap

HashSet خريطة التجزئة
تنفذjava.util.تعيين الواجهةتنفذjava.util. خريطة
يخزن البيانات ككائناتيخزن البيانات في شكل زوج مفتاح القيمة
يتطلب HashSet معلمة واحدة فقط لتهيئة الكائن الخاص بهيتطلب معلمتين (مفتاح ، قيمة) لتهيئة الكائن الخاص به
لا يسمح بالعناصر المكررةلا يسمح بالمفاتيح المكررة ولكن يمكنك تخزين القيم المكررة
يسمح بقيمة فارغة واحدةيسمح بمفتاح فارغ وأي عدد من القيم الخالية
استخدم HashSet add ()طريقة لإضافة أو تخزين البياناتتستخدم HashMap طريقة put () لتخزين البيانات

الآن بعد أن أصبح لديك تمييز واضح بين HashMap و HashSet ، دعنا نركز الآن على HashSet مرة أخرى ونتعمق فيه. في القسم التالي من هذه المقالة ، سأقدم لك التسلسل الهرمي الكامل لـ HashSet في Java.

HashSet Hierarchy في Java

كما ترون من الرسم البياني أدناه ،تطبق فئة HashSet واجهة Set. ترث واجهة Set أيضًا واجهة Collection التي تعمل في النهاية على توسيع الواجهة Iterable بترتيب هرمي.

Java HashSet Hierarchy - HashSet في Java - Edureka

الآن ، المضي قدمًا في مقالة HashSet هذه في Java ، دعنا نتحقق من مختلف الصانعين بدعم من هذه الفئة.

منشئي فئة java.util.HashSet

باني وصف
HashSet () هذا هو المُنشئ الافتراضي لفئة HashSet
HashSet (سعة كثافة العمليات) يتم استخدام هذا المُنشئ لتهيئة السعة الأولية لمجموعة التجزئة. يمكن أن تنمو السعة ديناميكيًا مع إضافة عناصر جديدة
HashSet (سعة int ، سعة تحميل تعويم) يتم استخدام هذا المُنشئ لتهيئة السعة الأولية لمجموعة التجزئة جنبًا إلى جنب مع سعة التحميل
HashSet (مجموعة ج) يتم استخدام هذا المُنشئ للتهيئةمجموعة التجزئة باستخدام العناصر من المجموعة ج

هؤلاء هم المنشئون الأربعة لفئة HashSet في . دعنا الآن نتعرف على العناصر المتنوعة المعرفة في Java HashSet.

طرق تصنيف java.util.HashSet

طريقة وصف
إضافة منطقية (كائن كائن) تساعد هذه الطريقة في إضافة عنصر محدد إلى HashSet فقط إذا لم يكن موجودًا
باطل واضح () تساعد هذه الطريقة في إزالة جميع العناصر من HashSet
استنساخ الكائن () تُرجع هذه الطريقة نسخة ضحلة من مثيل HashSet بدلاً من نسخ عناصر HashSet
قيمة منطقية تحتوي على (كائن o) هذه الطريقة ترجع صحيحًا إذا كان العنصر الذي تم تمريره موجودًا داخل HashSet
قيمة منطقية فارغة () هذه الطريقة ترجع صحيحًا في حال كانت HashSet فارغة
مكرر التكرار () تقوم هذه الطريقة بإرجاع مكرر على العناصر الموجودة في HashSet
إزالة منطقية (كائن o) تساعد هذه الطريقة في إزالة العنصر المحدد من HashSet إذا كان موجودًا
حجم int () ترجع هذه الطريقة العدد الإجمالي للعناصر الموجودة في HashSet

إلى جانب الطرق المذكورة أعلاه ، تحتوي فئة HashSet في Java أيضًا على ملف من فصولها الفائقة.

فرز مصفوفة c ++

دعونا نحاول الآن تنفيذ هذه الأساليب وتبليل أقدامنا بالبرمجة.

تطبيق HashSet في برنامج Java

في المثال أدناه ، سنحاول تنفيذ عدد من الطرق التي توفرها فئة HashSet.

import java.util.HashSet import java.util. * public class SampleHashSet {public static void main (String [] args) {// Creating a HashSet Set eduCourses = new HashSet () // Adding new element to the HashSet eduCourses.add ('البيانات الضخمة') eduCourses.add ('Node.js') eduCourses.add ('Java') eduCourses.add ('Python') eduCourses.add ('Blockchain') eduCourses.add ('JavaScript') eduCourses. add ('Selenium') eduCourses.add ('AWS') eduCourses.add ('Machine Learning') eduCourses.add ('RPA') // سيتم تجاهل إضافة عناصر مكررة eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // تحقق مما إذا كانت HashSet تحتوي على عنصر معين String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' موجود في قائمة الدورات التدريبية. ')} وإلا {System.out.println (myCourse +' ليس في قائمة الدورات. ')} // فرز eduCourses باستخدام List List list = new ArrayList (eduCourses) Collections.sort (list) // طباعة العناصر التي تم فرزها في HashSet System.out.println (' طباعة الدورات بالترتيب الفرز باستخدام القائمة: '+ قائمة) // إزالة العناصر من HashSet باستخدام إزالة () eduCourses.remove (' Python ') // التكرار عبر عناصر HashSet System.out.println (' التكرار فوق قائمة المقرر الدراسي بعد الإزالة Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // إنشاء كائن آخر من HashSet HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('التعلم الآلي') // إزالة جميع العناصر الجديدة من HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('بعد استدعاء removeAll () دورات الطريقة المتبقية: '+ eduCourses) // إزالة العناصر على أساس الشرط المحدد eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' بعد استدعاء طريقة removeIf (): '+ eduCourses) // إزالة العناصر المحددة في eduCourses eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet بعد' + 'retainAll () العملية: '+ eduNewCourses) // إزالة جميع العناصر المتوفرة في مجموعة eduCourses.clear () System.out.println (' بعد استدعاء طريقة clear (): '+ eduCourses)}}

عند تنفيذ الكود أعلاه ، سوف يعطيك الإخراج الموضح أدناه.

بهذا نصل إلى نهاية هذا المقال. آمل أن أكون قادرًا على الحفاظ على المفاهيم واضحة وواضحة. يمكنك معرفة المزيد عن من خلال الذهاب من خلال .

الآن بعد أن فهمت ما هو HashSet في Java ، تحقق من ملف من Edureka ، شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250.000 متعلم راضٍ منتشرين في جميع أنحاء العالم تم تصميم دورة تدريب وشهادة Java J2EE و SOA من Edureka للطلاب والمهنيين الذين يرغبون في أن يصبحوا مطوري Java. تم تصميم الدورة التدريبية لمنحك السبق في برمجة Java وتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات بمقال 'HashSet in Java' وسنعاود الاتصال بك في أقرب وقت ممكن.