ה מַעֲרֶכֶת הוא ממשק זמין ב java.util חֲבִילָה. ה מַעֲרֶכֶת ממשק מרחיב את ממשק האוסף. אוסף או רשימה לא מסודרים שבהם אסורים כפילויות מכונה א ממשק איסוף . ממשק הסט משמש ליצירת הסט המתמטי. ממשק הסט משתמש בשיטות של ממשק אוסף כדי להימנע מהכנסתם של אותם אלמנטים. SortedSet ו ניווט סט הם שני ממשקים שמרחיבים את יישום הסט.
בתרשים לעיל, ה ניווט סט ו 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); } }
תְפוּקָה:
הערה: לאורך הסעיף, ריכזנו את התוכנית עם שם הקובץ והרצנו את התוכנית עם שם המחלקה. כי שם הקובץ ושם המחלקה שונים.
פעולות על ממשק הסט
על הסט, אנחנו יכולים לבצע את כל הפעולות המתמטיות הבסיסיות כמו צומת, איחוד והבדל.
נניח שיש לנו שתי קבוצות, כלומר, set1 = [22, 45, 33, 66, 55, 34, 77] ו-set2 = [33, 2, 83, 45, 3, 12, 55]. נוכל לבצע את הפעולה הבאה בסט:
בסט, הוסף הכל() השיטה משמשת לביצוע האיחוד, 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); } }
תְפוּקָה:
תיאור:
בקוד שלמעלה, ראשית, אנו יוצרים שני מערכים, כלומר, 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); } }
תְפוּקָה:
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); } }
תְפוּקָה:
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) מכיל()
השיטה 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)); } }
תְפוּקָה:
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)); } }
תְפוּקָה:
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()); } }
תְפוּקָה:
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()); } }
תְפוּקָה:
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()); } } }
תְפוּקָה:
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); } }
תְפוּקָה:
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); } }
תְפוּקָה:
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); } }
תְפוּקָה:
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
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('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;>