סיכום - HashSet
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Java של Coddy. שיעור 28 מתוך 59.
אתגר
קלצרו מתודה בשם processHashSet שמקבלת שלושה ארגומנטים:
HashSet<Object>(set)Object(input) לעיבודString(operation) שמציין איזו פעולה לבצע
באמצעות משפטי if/else ושיטות HashSet שכבר למדתם, המתודה צריכה להחזיר מחרוזת בהתאם ל־operation:
"add": הוסיפו אתinputלקבוצה. החזירו"Added successfully"אם הוא נוסף, או"Element already exists"אם הוא כבר היה בקבוצה."remove": הסירו אתinputמהקבוצה. החזירו"Removed successfully"אם הוא הוסר, או"Element not found"אם הוא לא היה בקבוצה."find": החזירו"Found at index: [index]"אם הקבוצה מכילה אתinput(כאשר[index]הוא המיקום של האיבר בסדר האיטרציה), אחרת החזירו"Element not found"."count": החזירו"Number of elements: [count]", כאשר[count]הוא מספר האיברים בקבוצה (השתמשו ב־size()).
בדקו תחילה את הקלטים:
- אם
setהואnull: החזירו"Invalid set". - אם
operationהואnullאו אינו אחד מארבעת הערכים שלעיל: החזירו"Invalid operation". - עבור הפעולה
"find", אםinputהואnull: החזירו"Cannot find null".
נסו בעצמכם
import java.util.HashSet;
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static String processHashSet(HashSet<Object> set, Object input, String operation) {
// כתבו כאן את הקוד שלכם
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// קראו את הקבוצה ההתחלתית
String[] items = scanner.nextLine().split(",");
HashSet<Object> set = new HashSet<>();
if (!items[0].equals("empty")) {
for (String item : items) {
// נסו תחילה להמיר למספר שלם
try {
set.add(Integer.parseInt(item));
} catch (NumberFormatException e) {
set.add(item);
}
}
}
// קראו את הקלט
String inputStr = scanner.nextLine();
Object input;
try {
input = Integer.parseInt(inputStr);
} catch (NumberFormatException e) {
input = inputStr;
}
// קראו את הפעולה
String operation = scanner.nextLine();
System.out.println(processHashSet(set, input, operation));
}
}כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםגישה לאיברים במערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםסיכום — מערכים דו־ממדייםחיבור וחיסור מטריצותמערכים מדורגיםמערכים תלת־ממדיים ומעבר להםתבניות נפוצות במערכים דו־ממדייםסיכום — כל מה שצריך לדעת על מערכים4HashSet חלק 1
מהו HashSet?הוספת איברהסרת איברבדיקה אם איבר קייםבדיקת ריקנות וגודלניקוי ושכפולסיכום - HashSetתרגלו בעצמכם: קומפיילר Java אונליין