المسارات
/
Java
Java
/
المنهج
/
المجموعات
ال

المجموعات في Java

تمرينان

نبذة عن المجموعات

Set هي مجموعة غير مرتبة، وبخلاف List، يُضمن ألا تحتوي على أي قيم مكررة.

يشير معامل النوع العام لواجهة Set إلى نوع العناصر الموجودة في Set:

Set<Integer> ints = Set.of(1, 2, 3);
Set<String> strings = Set.of("alpha", "beta", "gamma");
Set<Object> mixed = Set.of(1, false, "foo");

لاحظ أن الطريقة Set.of() تُنشئ نسخة Set غير قابلة للتعديل. ومحاولة استدعاء طرق مثل add وremove على هذه النسخة ستؤدي إلى استثناء في وقت التشغيل.

لإنشاء Set قابل للتعديل، عليك إنشاء كائن من صنف يُطبّق واجهة Set. الصنف المدمج الأكثر استخدامًا الذي يُطبّق هذه الواجهة هو صنف HashSet.

Set<Integer> ints = new HashSet<>();

تمتد واجهة Set من واجهتي Collection وIterable، ولذلك تتشارك الكثير من الطرق مع أنواع أخرى من المجموعات. غير أن الفرق الملحوظ عن واجهة Collection هو أن طرقًا مثل add وremove تُرجع boolean (بدلًا من void)، ويدل ذلك على ما إذا كان العنصر موجودًا في المجموعة عند استدعاء تلك الطريقة:

Set<Integer> set = new HashSet<>();
set.add(1);
// => true
set.add(2);
// => true
set.add(1);
// => false
set.size();
// => 2
set.contains(1);
// => true
set.contains(3);
// => false
set.remove(3);
// => false
set.remove(2);
// => true
set.size();
// => 1
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة

تعلّم المجموعات