שיעורי מודול (1/2)
הגדר ומפה
מעבר למחלקה ArrayList (המייצגת רשימה מסודרת של אלמנטים), ה-Java Collections Framework מציעה שני ממשקים בסיסיים נוספים: Set (עבור אלמנטים ייחודיים) וMap (עבור אסוציאציות מפתח-ערך).
סט: אוספים של אלמנטים ייחודיים
Set הוא אוסף שלא יכול להכיל רכיבים כפולים. היישום הנפוץ ביותר שלו הוא HashSet, המבוסס באופן פנימי על טבלת hash, המבטיחה ביצועים מצוינים לפעולות הכנסת, הסרה ואימות נוכחות.
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.
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()) שסופקה על ידי המפה.
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
System.out.println(entry.getKey() + " is " + entry.getValue() + " years old.");
}נסה זאת בעצמך
השלם את הקוד על ידי הכרזה על HashSet של מחרוזות בשם פריטים. הוסף שוב את האלמנטים 'apple', 'בננה' ו-'apple', ולאחר מכן הדפס את גודל הסט באמצעות System.out.println.
הצג רמז
זכור כי כפילויות אינן מותרות ב-'Set', ו-'items.size()' יחזיר את המספר האמיתי של האלמנטים הייחודיים שהוכנסו.
הפתרון זמין לאחר 3 ניסיונות
השלם את הקוד על ידי הכרזה על HashMap בשם גילאים עם מפתחות מחרוזת וערכי מספר שלם. שייך את המפתח 'אליס' ל-25 ואת המפתח 'בוב' ל-30, ואז אחזר והדפיס את גילו של בוב.
הצג רמז
השתמש בשיטת 'put' כדי להוסיף זוגות ובשיטת 'גט' כדי לאחזר ערכים על סמך מפתחות.
הפתרון זמין לאחר 3 ניסיונות
השלם את הקוד על ידי בדיקה אם מפת המדינות מכילה את המפתח 'FR' והדפס את התוצאה הבוליאנית.
הצג רמז
השתמש בשיטת 'containsKey' באובייקט 'מדינות' כדי לבדוק את נוכחותו של המפתח הדרוש.
הפתרון זמין לאחר 3 ניסיונות