ال تعيين هي واجهة متاحة في java.util طَرد. ال تعيين تعمل الواجهة على توسيع واجهة المجموعة. يُشار إلى المجموعة أو القائمة غير المرتبة التي لا يُسمح فيها بالتكرارات باسم أ واجهة الجمع . يتم استخدام واجهة المجموعة لإنشاء المجموعة الرياضية. تستخدم واجهة المجموعة أساليب واجهة المجموعة لتجنب إدراج نفس العناصر. SortedSet و NaviableSet هما واجهتان تعملان على توسيع تنفيذ المجموعة.
في الرسم البياني أعلاه، NaviableSet و SortedSet كلاهما الواجهات. ال NaviableSet يقوم بتوسيع SortedSet، لذلك لن يحتفظ بترتيب الإدراج ويخزن البيانات بطريقة مرتبة.
SetExample1.java
import java.util.*; public class setExample{ public static void main(String[] args) { // creating LinkedHashSet using the Set Set data = new LinkedHashSet(); data.add('JavaTpoint'); data.add('Set'); data.add('Example'); data.add('Set'); System.out.println(data); } }
انتاج:
ملاحظة: في هذا القسم، قمنا بتجميع البرنامج باسم الملف وتشغيل البرنامج باسم الفئة. لأن اسم الملف واسم الفئة مختلفان.
العمليات على واجهة المجموعة
في المجموعة، يمكننا إجراء جميع العمليات الحسابية الأساسية مثل التقاطع والاتحاد والفرق.
مزامنة الموضوع
لنفترض أن لدينا مجموعتين، أي set1 = [22، 45، 33، 66، 55، 34، 77] وset2 = [33، 2، 83، 45، 3، 12، 55]. يمكننا إجراء العملية التالية على المجموعة:
في المجموعة، إضافة الجميع() يتم استخدام الطريقة لأداء الاتحاد ، الاحتفاظ بالكل () يتم استخدام الطريقة لأداء التقاطع و حذف الكل() يتم استخدام الطريقة لأداء الفرق. لنأخذ مثالاً لفهم كيفية استخدام هذه الأساليب لإجراء عمليات التقاطع والاتحاد والفرق.
SetExample2.java
import java.util.*; public class SetOperations { public static void main(String args[]) { Integer[] A = {22, 45,33, 66, 55, 34, 77}; Integer[] B = {33, 2, 83, 45, 3, 12, 55}; Set set1 = new HashSet(); set1.addAll(Arrays.asList(A)); Set set2 = new HashSet(); set2.addAll(Arrays.asList(B)); // Finding Union of set1 and set2 Set union_data = new HashSet(set1); union_data.addAll(set2); System.out.print('Union of set1 and set2 is:'); System.out.println(union_data); // Finding Intersection of set1 and set2 Set intersection_data = new HashSet(set1); intersection_data.retainAll(set2); System.out.print('Intersection of set1 and set2 is:'); System.out.println(intersection_data); // Finding Difference of set1 and set2 Set difference_data = new HashSet(set1); difference_data.removeAll(set2); System.out.print('Difference of set1 and set2 is:'); System.out.println(difference_data); } }
انتاج:
وصف:
في الكود أعلاه، أولاً، نقوم بإنشاء صفيفين، أي A وB من النوع الصحيح. بعد ذلك، نقوم بإنشاء مجموعتين، أي set1 وset2 من النوع عدد صحيح. نقوم بتحويل كل من المصفوفة إلى قائمة وإضافة عناصر المصفوفة A إلى set1 وعناصر المصفوفة B إلى set2.
لأداء الاتحاد، نقوم بإنشاء مجموعة جديدة union_data مع نفس العنصر من set1. نقوم بعد ذلك باستدعاء طريقة addAll() الخاصة بـ set وتمرير set2 كوسيطة لها. ستضيف هذه الطريقة كل هذه العناصر إلى ملف union_data التي لا توجد فيه وتعطي اتحاد المجموعتين.
لأداء التقاطع، نقوم بإنشاء مجموعة جديدة intersection_data مع نفس العنصر من set1. نقوم بعد ذلك باستدعاء طريقة الاحتفاظ بالكل () للمجموعة وتمرير set2 كوسيطة لها. ستحصل هذه الطريقة على كل هذه العناصر من ملف intersection_data الموجودة في set2 وتخزينها في ملف intersection_data. الآن، تحتوي بيانات التقاطع على قيمة التقاطع لكلتا المجموعتين.
لأداء الفرق، نقوم بإنشاء مجموعة جديدة Difference_data مع نفس العنصر من set1. نقوم بعد ذلك باستدعاء طريقة RemoveAll() الخاصة بـ set وتمرير set2 كوسيطة لها. ستؤدي هذه الطريقة إلى إزالة كل تلك العناصر من الملف Difference_data الموجودة في المجموعة 2 وتعطي الفرق بين المجموعتين.
تعيين الأساليب
هناك عدة طرق متاحة في واجهة المجموعة والتي يمكننا استخدامها لإجراء عملية معينة على مجموعاتنا. هذه الأساليب هي كما يلي:
1) إضافة ()
تقوم طريقة add () بإدراج قيمة جديدة في المجموعة. تُرجع الطريقة الصواب والخطأ اعتمادًا على وجود عنصر الإدراج. تُرجع خطأ إذا كان العنصر موجودًا بالفعل في المجموعة وتُرجع صحيحًا إذا لم تكن موجودة في المجموعة.
بناء الجملة:
boolean add(type element).
SetExample3.java
import java.io.*; import java.util.*; public class addMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(11); data.add(61); data.add(51); System.out.println('data: ' + data); } }
انتاج:
2) إضافة الكل ()
تقوم طريقة addAll () بإلحاق كافة عناصر المجموعة المحددة بالمجموعة.
بناء الجملة:
boolean addAll(Collection data)
SetExample4.java
import java.io.*; import java.util.*; class addAllMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); System.out.println('Set: ' + data); ArrayList newData = new ArrayList(); newData.add(91); newData.add(71); newData.add(81); data.addAll(newData); System.out.println('Set: ' + data); } }
انتاج:
جافا سكريبت نافذة.فتح
3) واضح ()
تقوم الطريقة بإزالة جميع العناصر من المجموعة. لا يحذف مرجع المجموعة. فهو يحذف فقط عناصر المجموعة.
بناء الجملة:
void clear()
SetExample5.java
import java.io.*; import java.util.*; public class clearMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); System.out.println('Set: ' + data); data.clear(); System.out.println('The final set: ' + data); } }
انتاج:
4) يحتوي على ()
يتم استخدام الطريقة التي تحتوي على () لمعرفة وجود عنصر في المجموعة. تكون قيمته المرجعة صحيحة أو خاطئة حسب وجود العنصر.
بناء الجملة:
boolean contains(Object element)
SetExample6.java
import java.io.*; import java.util.*; class containsMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('Set: ' + data); System.out.println('Does the Set contains '91'?' + data.contains(91)); System.out.println('Does the Set contains 'javaTpoint'? ' + data.contains('4')); System.out.println('Does the Set contains '51'? ' + data.contains(51)); } }
انتاج:
5) يحتوي على الكل ()
يتم استخدام هذه الطريقة للتحقق مما إذا كانت جميع عناصر المجموعة متوفرة في المجموعة الحالية أم لا. تُرجع صحيحًا إذا كانت جميع عناصر المجموعة موجودة في المجموعة وتُرجع خطأ حتى إذا كان أحد العناصر مفقودًا في المجموعة الموجودة.
بناء الجملة:
public boolean containsAll(Collection data)
SetExample7.java
import java.io.*; import java.util.*; class containsAllMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('data: ' + data); Set newData = new LinkedHashSet(); newData.add(31); newData.add(21); newData.add(41); System.out.println(' Does data contains newData?: '+ data.containsAll(newData)); } }
انتاج:
6) رمز التجزئة ()
يتم استخدام هذه الطريقة لاشتقاق قيمة رمز التجزئة للمثيل الحالي للمجموعة. تقوم بإرجاع قيمة رمز التجزئة من نوع عدد صحيح.
بناء الجملة:
public int hashCode()
SetExample8.java
import java.io.*; import java.util.*; class hashCodeMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('data: ' + data); System.out.println(' The hash code value of set is:'+ data.hashCode()); } }
انتاج:
7) فارغ ()
يتم استخدام طريقة isEmpty () لتحديد فراغ المجموعة. يُرجع صحيحًا إذا كانت المجموعة فارغة ويُرجع خطأ إذا لم تكن المجموعة فارغة.
بناء الجملة:
boolean isEmpty()
SetExample9.java
آخر جافا
import java.io.*; import java.util.*; class isEmptyMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('data: ' + data); System.out.println(' Is data empty?: '+ data.isEmpty()); } }
انتاج:
8) المكرر ()
يتم استخدام طريقة التكرار () للعثور على مكرر المجموعة. يتم استخدام المكرر للحصول على العنصر واحدًا تلو الآخر.
بناء الجملة:
Iterator iterate_value = set1.iterator();
SetExample10.java
import java.io.*; import java.util.*; class iteratorMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('data: ' + data); Iterator newData = data.iterator(); System.out.println('The NewData values are: '); while (newData.hasNext()) { System.out.println(newData.next()); } } }
انتاج:
9) إزالة ()
يتم استخدام الطريقة لإزالة عنصر محدد من المجموعة. تعتمد قيمة الإرجاع الخاصة بها على توفر العنصر. يُرجع صحيحًا إذا كان العنصر متاحًا في المجموعة ويُرجع خطأ إذا كان غير متوفر في المجموعة.
بناء الجملة:
boolean remove(Object O)
SetExample11.java
أنواع البيانات تتمة
import java.io.*; import java.util.*; class removeMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(51); data.add(11); data.add(81); System.out.println('data: ' + data); data.remove(81); data.remove(21); data.remove(11); System.out.println('data after removing elements: ' + data); } }
انتاج:
11) إزالة الكل ()
تقوم الطريقة بإزالة كافة عناصر المجموعة الموجودة من المجموعة المحددة.
بناء الجملة:
public boolean removeAll(Collection data)
SetExample12.java
import java.io.*; import java.util.*; class removeAllMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(91); data.add(71); data.add(81); System.out.println('data: ' + data); ArrayList newData = new ArrayList(); newData.add(91); newData.add(71); newData.add(81); System.out.println('NewData: ' + newData); data.removeAll(newData); System.out.println('data after removing Newdata elements : ' + data); } }
انتاج:
11) الاحتفاظ بالكل ()
تحتفظ الطريقة بجميع العناصر من المجموعة المحددة في المجموعة المحددة.
بناء الجملة:
public boolean retainAll(Collection data)
SetExample13.java
import java.io.*; import java.util.*; class retainAllMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(91); data.add(71); data.add(81); System.out.println('data: ' + data); ArrayList newData = new ArrayList(); newData.add(91); newData.add(71); newData.add(81); System.out.println('newData: ' + newData); data.retainAll(newData); System.out.println('data after retaining newdata elements : ' + data); } }
انتاج:
12) الحجم()
تقوم الطريقة بإرجاع حجم المجموعة.
بناء الجملة:
int size()
SetExample14.java
import java.io.*; import java.util.*; class sizeMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(91); data.add(71); data.add(81); System.out.println('data: ' + data); System.out.println('size of the data is : ' + data.size()); } }
انتاج:
13) إزالة الكل ()
يتم استخدام هذه الطريقة لإنشاء مصفوفة بنفس عناصر المجموعة.
بناء الجملة:
Object[] toArray()
SetExample15.java
import java.io.*; import java.util.*; class toArrayMethod { public static void main(String args[]) { Set data = new LinkedHashSet(); data.add(31); data.add(21); data.add(41); data.add(91); data.add(71); data.add(81); System.out.println('data: ' + data); Object[] array_data = data.toArray(); System.out.println('The array is:'); for (int i = 0; i <array_data.length; i++) system.out.println(array_data[i]); } < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/java-tutorial/81/set-java-16.webp" alt="Set in Java"> <hr></array_data.length;>