ملخص - HashSet
جزء من قسم Logic & Flow في رحلة Java على Coddy — الدرس 28 من 59.
التحدي
سهلقم بإنشاء دالة باسم processHashSet تأخذ ثلاثة وسائط:
HashSet<Object>(set)Object(input) للمعالجةString(operation) يحدد العملية المراد تنفيذها
باستخدام عبارات if/else والدوال الخاصة بـ HashSet التي تعلمتها سابقاً، يجب أن ترجع الدالة نصاً بناءً على operation:
"add": إضافةinputإلى المجموعات (set). أرجع"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 integers: [count]"، حيث[count]هو عدد الأعداد الصحيحة في المجموعة.
قم بالتحقق من صحة المدخلات أولاً:
- إذا كان
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));
}
}جميع دروس Logic & Flow
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات4HashSet الجزء الأول
ما هو الـ HashSet؟إضافة عنصرحذف عنصرالتحقق من وجود عنصرالفراغ والحجمالمسح والنسخملخص - HashSet2HashMap الجزء الأول
ما هو الـ HashMap؟تعريف الـ HashMapالوصول إلى القيمالتحقق من وجود المفتاحتعديل القواميسملخص - HashMap3HashMap الجزء الثاني
دوال HashMapالتكرار باستخدام keySet()التكرار باستخدام entrySet()HashMap متداخلمراجعة - إدارة المستودعمراجعة - عمليات HashMap6التحكم المتقدم في تدفق البرنامج
العبارات المعنونةتعبير Switchمطابقة الأنماطجمل الحمايةمراجعة - تدفق التحكم