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