שינוי מילונים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Java של Coddy. שיעור 14 מתוך 59.
מפות HashMap תומכות גם בהסרה ובעדכון של רשומות באמצעות השיטות put(), remove() ו-replace().
לדוגמה, נמלא תחילה HashMap:
HashMap<String, String> users = new HashMap<>();
users.put("alice", "Admin");
users.put("bob", "User");כדי להסיר מפתח:
users.remove("bob"); // מסיר את "bob"
System.out.println(users);
// {alice=Admin}כדי לעדכן מפתח:
users.replace("alice", "Guest");
// מעדכן את alice ל-Guest
users.replace("Charlie", "Admin");
// לא עושה דבר (המפתח "Charlie" אינו קיים)אתגר
קלכתבו שיטה בשם modifyMap שמשנה HashMap נתון בהתאם לתנאים מסוימים.
- מקבלת HashMap בשם
data, שבו:- המפתחות הם מסוג
String. - הערכים הם מסוג
Integer.
- המפתחות הם מסוג
- מקבלת String בשם
key. - מקבלת Integer בשם
newValue.
השיטה צריכה להחזיר את ה-HashMap המעודכן בהתאם לכללים הבאים:
- אם המפתח קיים ב-
dataויש לו אותו ערך כמוnewValue, השתמשו ב-replace(), אך הגדילו את הערך ב-1. - אם המפתח קיים אך יש לו ערך שונה, הסירו אותו.
- אם המפתח אינו קיים, הוסיפו אותו עם
newValue.
נסו בעצמכם
// --- מודולים להמרת מחרוזת של hashmap ל-hashmap ---
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
// -----------------------------
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static HashMap<String, Integer> modifyMap(HashMap<String, Integer> data, String key, int newValue) {
// כתבו כאן את הקוד שלכם
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String hashMapString = scanner.nextLine();
String key = scanner.nextLine();
int newValue = scanner.nextInt();
// המירו String של HashMap ל-HashMap
Type mapType = new TypeToken<HashMap<String, Integer>>(){}.getType();
HashMap<String, Integer> data = new Gson().fromJson(hashMapString, mapType);
HashMap<String, Integer> result = modifyMap(data, key, newValue);
System.out.println(new Gson().toJson(result));
}
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםגישה לאיברים במערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםסיכום — מערכים דו־ממדייםחיבור וחיסור מטריצותמערכים מדורגיםמערכים תלת־ממדיים ומעבר להםתבניות נפוצות במערכים דו־ממדייםסיכום — כל מה שצריך לדעת על מערכיםתרגלו בעצמכם: קומפיילר Java אונליין