English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمات Java الأساسية

تحكم في العملية Java

مجموعات Java

Java توجيهي للأمور الموجهة (I)

Java توجيهي للأمور الموجهة (II)

Java توجيهي للأمور الموجهة (III)

معالجة الاستثناءات في Java

قائمة Java (List)

Java Queue (الطابور)

مجموعات Java Map

مجموعات Java Set

Java مدخل وخرج (I/O)

Java Reader/Writer

موضوعات أخرى لـ Java

Java Set واجهة

في هذا الدرس، سنتعلم عن واجهة Set في Java(Methods).

واجهة Set في إطار Collections لـ Java توفر ميزات مجموعات الرياضيات في Java. إنها تنحدر من واجهة Collection.

مختلفة عن واجهة List، لا يمكن لمجموعة Set أن تحتوي على عناصر مكررة.

فئات تحقق Set

بما أن Set هي واجهة، لا يمكن إنشاء أجرأتها

للاستفادة من ميزات واجهة Set، يمكننا استخدام الفئات التالية:

تحدد وتحقق هذه الفئات واجهة Set في إطار Collections.

واجهات تنحدر من Set

توسع واجهة Set هذه الفروع:

كيفية استخدام Set؟

في Java، يجب استيراد حزمة java.util.Set لاستخدام Set.

// تحقيق Set باستخدام HashSet
Set<String> animals = new HashSet<>();

في هذا السياق، قمنا بإنشاء مجموعة تسمى animals. لقد استخدمنا فئة HashSet لتحقيق واجهة Set.

طرق Set

تتضمن واجهة Set جميع طرق واجهة Collection. هذا لأن Collection هي واجهة الأب لـ Set.

يقدم واجهة Set بعض من الطرق الشائعة لـ واجهة Collection:

  • add() - إضافة العنصر المحدد إلى المجموعة

  • addAll() - إضافة جميع العناصر في المجموعة المحددة إلى المجموعة

  • iterator() - العودة إلى م迭代ر يمكن استخدامه لاستدعاء العناصر في الترتيب

  • remove() - إزالة العنصر المحدد من المجموعة

  • removeAll() - إزالة جميع العناصر من المجموعة التي تزال موجودة في مجموعة أخرى محددة

  • keepAll()  - الحفاظ على جميع العناصر التي تزال موجودة في مجموعة أخرى محددة

  • clear() - إزالة جميع العناصر من المجموعة

  • size() - العودة إلى طول المجموعة (عدد العناصر)

  • toArray() - العودة إلى مصفوفة تحتوي على جميع العناصر في المجموعة

  • contains() - إذا كان يحتوي المجموعة على العنصر المحدد، فإنه يعود صحيح

  • containsAll() - إذا كان يحتوي المجموعة على جميع العناصر في المجموعة المحددة، فإنه يعود صحيح

  • hashCode() - العودة إلى قيمة الهاش (عنوان العنصر في المجموعة)

عمليات حساب مجموعة Set

يسمح لنا واجهة Java Set بإجراء عمليات الحسابات الرياضية الأساسية للمجموعات، مثل التكامل، والتفريق والنصف.

  • Union - للحصول على مصفوفة الجمع بين مجموعتين x و y، يمكننا استخدام x.addAll(y)

  • Intersection - للحصول على مصفوفة التقاء مجموعتين x و y، يمكننا استخدام x.retainAll(y)

  • Subset - لتحقق ما إذا كان x هو مجموعة فرعية من y، يمكننا استخدام y.containsAll(x)

تحقيق واجهة Set

1. تنفيذ فئة HashSet

import java.util.Set;
import java.util.HashSet;
class Main {
    public static void main(String[] args) {
        //استخدام فئة HashSet لإنشاء مجموعة
        Set<Integer> set1 = new HashSet<>();
        //إضافة العناصر إلى set1
        set1.add(2);
        set1.add(3);
        System.out.println("Set1: "+ set1);
        //استخدام فئة HashSet لإنشاء مجموعة أخرى
        Set<Integer> set2 = new HashSet<>();
        //إضافة العناصر
        set2.add(1);
        set2.add(2);
        System.out.println("Set2: "+ set2);
        //جمع مجموعتين
        set2.addAll(set1);
        System.out.println("الجمع هو: "+ set2);
    }
}

نتيجة الإخراج

Set1: [2, 3]
Set2: [1, 2]
الجمع هو: [1, 2, 3]

للحصول على معلومات إضافية حول HashSet، يرجى زيارةHashSet في Java.

2. تنفيذ فئة TreeSet

import java.util.Set;
import java.util.TreeSet;
import java.util.Iterator;
class Main {
    public static void main(String[] args) {
        //استخدام فئة TreeSet لإنشاء مجموعة
        Set<Integer> numbers = new TreeSet<>();
        //إضافة العناصر إلى مجموعة set
        numbers.add(2);
        numbers.add(3);
        numbers.add(1);
        System.out.println("TreeSet: "+ numbers);
        //استخدام iterator() لاستدعاء العناصر
        System.out.print("استخدام iterator() لاستدعاء العناصر: ");
        Iterator<Integer> iterate = numbers.iterator();
        while(iterate.hasNext()) {
            System.out.print(iterate.next());
            System.out.print(", ");
        }
    }
}

نتيجة الإخراج

TreeSet: [1, 2, 3]
استخدام iterator() للاستعلام عن العناصر: 1, 2, 3,

للحصول على معلومات إضافية حول TreeSet، يرجى زيارةJava TreeSet.

الآن نعرف ما هو Set، في الدروس القادمة سنرى كيفية تنفيذها في الفئات مثل EnumSet، HashSet، LinkedHashSet و TreeSet.