דילוג לתוכן המרכזי
מודול 6 · שיעור 1 מתוך 211/14 בקורס~15 min
שיעורי מודול (1/2)

הגדר ומפה

מעבר למחלקה ArrayList (המייצגת רשימה מסודרת של אלמנטים), ה-Java Collections Framework מציעה שני ממשקים בסיסיים נוספים: Set (עבור אלמנטים ייחודיים) וMap (עבור אסוציאציות מפתח-ערך).

סט: אוספים של אלמנטים ייחודיים

Set הוא אוסף שלא יכול להכיל רכיבים כפולים. היישום הנפוץ ביותר שלו הוא HashSet, המבוסס באופן פנימי על טבלת hash, המבטיחה ביצועים מצוינים לפעולות הכנסת, הסרה ואימות נוכחות.

Java
import java.util.HashSet;
import java.util.Set;

Set<String> uniqueNames = new HashSet<>();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Alice"); // This insertion will be ignored since "Alice" is already present

System.out.println(uniqueNames.size()); // Prints 2

מפה: אגודות מפתח-ערך

Map ממפה מפתחות ייחודיים לערכים. הוא אינו יכול להכיל מפתחות כפולים: כל מפתח משויך לערך אחד לכל היותר. היישום הסטנדרטי שלו הוא HashMap.

Java
import java.util.HashMap;
import java.util.Map;

Map<String, Integer> ageMap = new HashMap<>();
// Insert or update key-value pairs
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);

// Retrieve value by key
int aliceAge = ageMap.get("Alice"); // Returns 25

// Verify if a key or value exists
boolean hasBob = ageMap.containsKey("Bob"); // Returns true

איטרציה על פני מפה

כדי לחזור על צמדי מפתח-ערך, אנו יכולים להשתמש בלולאה for-each על קבוצת הערכים (entrySet()) שסופקה על ידי המפה.

Java
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
    System.out.println(entry.getKey() + " is " + entry.getValue() + " years old.");
}

נסה זאת בעצמך

פעילות גופנית#java.m6.l1.e1
ניסיונות: 0טוען...

השלם את הקוד על ידי הכרזה על HashSet של מחרוזות בשם פריטים. הוסף שוב את האלמנטים 'apple', 'בננה' ו-'apple', ולאחר מכן הדפס את גודל הסט באמצעות System.out.println.

טוען עורך...
הצג רמז

זכור כי כפילויות אינן מותרות ב-'Set', ו-'items.size()' יחזיר את המספר האמיתי של האלמנטים הייחודיים שהוכנסו.

הפתרון זמין לאחר 3 ניסיונות

פעילות גופנית#java.m6.l1.e2
ניסיונות: 0טוען...

השלם את הקוד על ידי הכרזה על HashMap בשם גילאים עם מפתחות מחרוזת וערכי מספר שלם. שייך את המפתח 'אליס' ל-25 ואת המפתח 'בוב' ל-30, ואז אחזר והדפיס את גילו של בוב.

טוען עורך...
הצג רמז

השתמש בשיטת 'put' כדי להוסיף זוגות ובשיטת 'גט' כדי לאחזר ערכים על סמך מפתחות.

הפתרון זמין לאחר 3 ניסיונות

פעילות גופנית#java.m6.l1.e3
ניסיונות: 0טוען...

השלם את הקוד על ידי בדיקה אם מפת המדינות מכילה את המפתח 'FR' והדפס את התוצאה הבוליאנית.

טוען עורך...
הצג רמז

השתמש בשיטת 'containsKey' באובייקט 'מדינות' כדי לבדוק את נוכחותו של המפתח הדרוש.

הפתרון זמין לאחר 3 ניסיונות