تخطَّ إلى المحتوى

HashSet

مجموعة HashSet HashSet

HashSet مجموعة من العناصر الفريدة فقط — تمنع التكرار وتسمح ببحث سريع.

HashSet تمنع تكرار العناصر تمامًا: إذا حاولت إضافة عنصر موجود مسبقًا، يتم تجاهله بصمت. تستخدم hashing للبحث السريع O(1). مفيدة جدًا لجمع العناصر الفريدة من قائمة أو التحقق من وجود عنصر.

الصياغة

HashSet<T> set = new HashSet<>();
set.add(item);
set.contains(item);
set.remove(item);
set.size();

📄 مثال

import java.util.HashSet;

HashSet<String> cities = new HashSet<>();
cities.add("الرياض");
cities.add("جدة");
cities.add("الرياض"); // يُتجاهل

System.out.println(cities.size()); // 2
System.out.println(cities.contains("جدة")); // true

أهم النقاط

العنصرالوظيفة
add(item)يُضيف العنصر — يُتجاهل إذا كان موجودًا
contains(item)يُرجع true إذا العنصر موجود — O(1)
remove(item)يحذف العنصر إن وُجد
size()عدد العناصر الفريدة

💡 نصائح عملية

  • استخدم Set.of() لإنشاء مجموعة غير قابلة للتعديل (immutable): Set.of("a", "b")
  • HashSet لا تضمن ترتيب العناصر — لترتيب(TreeSet) أو إدخال(LinkedHashSet)

⚠️ أخطاء شائعة

  • استخدام HashSet مع أصناف مخصصة بدون hashCode() و equals() صحيحين — لن تعمل فلتر التكرار
  • انتظار ترتيب العناصر — HashSet لا تحافظ على أي ترتيب

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار JAVA الكامل بالعربي.