שינוי מילונים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-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" לא קיים)אתגר
קלכתוב מתודה בשם <strong>modifyMap</strong> שמשנה HashMap נתון בהתאם לתנאים מסוימים.
- מקבלת HashMap בשם
dataשבו:- המפתחות הם מסוג
String. - הערכים הם מסוג
Integer.
- המפתחות הם מסוג
- מקבלת String
key. - מקבלת Integer
newValue.
על המתודה להחזיר את ה-HashMap המעודכן בהתאם לכללים הבאים:
- אם המפתח קיים ב-
dataויש לו אותו ערך כמו ל-newValue, השתמש ב-<strong>replace()</strong>, אך הגדל את הערך ב-1. - אם המפתח קיים אבל יש לו ערך שונה, הסר אותו.
- אם המפתח לא קיים, הוסף אותו עם
<strong>newValue</strong>.
נסו בעצמכם
// --- מודולים להמרת מחרוזת של 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 אונליין