logo

מוגדר ב-Java

ה מַעֲרֶכֶת הוא ממשק זמין ב java.util חֲבִילָה. ה מַעֲרֶכֶת ממשק מרחיב את ממשק האוסף. אוסף או רשימה לא מסודרים שבהם אסורים כפילויות מכונה א ממשק איסוף . ממשק הסט משמש ליצירת הסט המתמטי. ממשק הסט משתמש בשיטות של ממשק אוסף כדי להימנע מהכנסתם של אותם אלמנטים. SortedSet ו ניווט סט הם שני ממשקים שמרחיבים את יישום הסט.

מוגדר ב-Java

בתרשים לעיל, ה ניווט סט ו SortedSet הם שני הממשקים. ה ניווט סט מרחיב את ה-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); } } 

תְפוּקָה:

מוגדר ב-Java

הערה: לאורך הסעיף, ריכזנו את התוכנית עם שם הקובץ והרצנו את התוכנית עם שם המחלקה. כי שם הקובץ ושם המחלקה שונים.

פעולות על ממשק הסט

על הסט, אנחנו יכולים לבצע את כל הפעולות המתמטיות הבסיסיות כמו צומת, איחוד והבדל.

נניח שיש לנו שתי קבוצות, כלומר, set1 = [22, 45, 33, 66, 55, 34, 77] ו-set2 = [33, 2, 83, 45, 3, 12, 55]. נוכל לבצע את הפעולה הבאה בסט:

    הִצטַלְבוּת:פעולת הצומת מחזירה את כל אותם אלמנטים שנמצאים בשני הסט. ההצטלבות של ערכה1 וקבוצה2 תהיה [33, 45, 55].הִתאַחֲדוּת:פעולת האיחוד מחזירה את כל הרכיבים של set1 ו-set2 בקבוצה אחת, וקבוצה זו יכולה להיות set1 או set2. האיחוד של סט1 וקבוצה2 יהיה [2, 3, 12, 22, 33, 34, 45, 55, 66, 77, 83].הֶבדֵל:פעולת ההבדל מוחקת את הערכים מהסט שנמצאים בסט אחר. ההבדל בין set1 ו-set2 יהיה [66, 34, 22, 77].

בסט, הוסף הכל() השיטה משמשת לביצוע האיחוד, retainAll() השיטה משמשת לביצוע הצומת ו להסיר את כל() השיטה משמשת לביצוע הבדלים. ניקח דוגמה כדי להבין כיצד נעשה שימוש בשיטות אלו לביצוע פעולות הצומת, האיחוד וההבדל.

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); } } 

תְפוּקָה:

מוגדר ב-Java

תיאור:

בקוד שלמעלה, ראשית, אנו יוצרים שני מערכים, כלומר, A ו-B מסוג מספר שלם. לאחר מכן, אנו יוצרים שני סטים, כלומר, set1 ו-set2 מסוג מספר שלם. אנו ממירים גם את המערך לרשימה ומוסיפים את האלמנטים של מערך A לתוך set1 ואת האלמנטים של מערך B לתוך set2.

לביצוע האיחוד, אנו יוצרים סט חדש union_data עם אותו אלמנט של הסט1. לאחר מכן אנו קוראים למתודה addAll() של set ומעבירים לה את set2 כארגומנט. שיטה זו תוסיף את כל האלמנטים האלה ל- union_data שאינם נוכחים בו ונותנים את האיחוד של שתי הקבוצות.

לביצוע הצומת, אנו יוצרים סט חדש intersection_data עם אותו אלמנט של הסט1. לאחר מכן אנו קוראים לשיטת retainAll() של set ומעבירים לה את set2 כארגומנט. שיטה זו תקבל את כל האלמנטים הללו מה- intersection_data שנמצאים ב-set2 ומאחסנים אותו ב-intersection_data. כעת, ה-intersection_data מכיל את ערך החיתוך של שתי הקבוצות.

לביצוע ההבדל, אנו יוצרים סט חדש ההבדל_נתונים עם אותו אלמנט של הסט1. לאחר מכן אנו קוראים למתודה removeAll() של set ומעבירים לה את set2 כארגומנט. שיטה זו תסיר את כל האלמנטים האלה מה- ההבדל_נתונים שנמצאים בסט2 ונותנים את ההפרש של שתי הקבוצות.

קבע שיטות

ישנן מספר שיטות זמינות בממשק הסט בהן נוכל להשתמש כדי לבצע פעולה מסוימת בסטים שלנו. שיטות אלו הן כדלקמן:

1) הוסף()

השיטה add() מכניסה ערך חדש לסט. השיטה מחזירה אמת ושקר בהתאם לנוכחות אלמנט ההכנסה. הוא מחזיר false אם האלמנט כבר קיים בקבוצה ומחזיר אמת אם הוא לא קיים בקבוצה.

תחביר:

 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); } } 

תְפוּקָה:

מוגדר ב-Java

2) addAll()

השיטה 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); } } 

תְפוּקָה:

מוגדר ב-Java

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); } } 

תְפוּקָה:

מוגדר ב-Java

4) מכיל()

השיטה contains() משמשת כדי לדעת את נוכחותו של אלמנט בסט. ערך ההחזר שלו נכון או לא נכון בהתאם לנוכחות האלמנט.

תחביר:

 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)); } } 

תְפוּקָה:

מוגדר ב-Java

5) containsAll()

השיטה משמשת כדי לבדוק האם כל האלמנטים של הקולקציה זמינים בסט הקיים או לא. היא מחזירה true אם כל האלמנטים של האוסף נמצאים בסט ומחזירה false גם אם אחד האלמנטים חסר בסט הקיים.

תחביר:

 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)); } } 

תְפוּקָה:

מוגדר ב-Java

6) hashCode()

השיטה משמשת לגזירת ערך קוד ה-hash עבור המופע הנוכחי של הסט. הוא מחזיר ערך קוד hash מסוג מספר שלם.

תחביר:

 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()); } } 

תְפוּקָה:

מוגדר ב-Java

7) הוא Empty()

השיטה 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()); } } 

תְפוּקָה:

מוגדר ב-Java

8) איטרטור()

השיטה iterator() משמשת כדי למצוא את האיטרטור של הסט. האיטרטור משמש כדי לקבל את האלמנט אחד אחד.

מערך java לרשימה

תחביר:

 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()); } } } 

תְפוּקָה:

מוגדר ב-Java

9) הסר()

השיטה משמשת להסרת אלמנט שצוין מהסט. ערך ההחזר שלו תלוי בזמינות האלמנט. הוא מחזיר true אם האלמנט זמין בסט ומחזיר false אם הוא לא זמין בסט.

תחביר:

 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); } } 

תְפוּקָה:

מוגדר ב-Java

11) removeAll()

השיטה מסירה את כל האלמנטים של הסט הקיים מהאוסף שצוין.

תחביר:

 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); } } 

תְפוּקָה:

מוגדר ב-Java

11) retainAll()

השיטה שומרת על כל האלמנטים מהסט שצוין באוסף הנתון.

תחביר:

 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); } } 

תְפוּקָה:

מוגדר ב-Java

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()); } } 

תְפוּקָה:

קו תחתון באמצעות css
מוגדר ב-Java

13) removeAll()

השיטה משמשת ליצירת מערך עם אותם אלמנטים של הסט.

תחביר:

 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(&apos;data: &apos; + data); Object[] array_data = data.toArray(); System.out.println(&apos;The array is:&apos;); 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;>