Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

ملخص - HashSet

جزء من قسم المنطق وتدفق التنفيذ في رحلة Java على Coddy. الدرس 28 من 59.

challenge icon

التحدي

سهل

أنشئ طريقة باسم processHashSet تتلقى ثلاث وسيطات:

  1. كائن HashSet<Object> (set)
  2. كائن Object (input) لمعالجته
  3. كائن 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));
    }
}

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم Java عبر الإنترنت