Podsumowanie — HashSet
Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 28 z 59.
Wyzwanie
ŁatwyUtwórz metodę o nazwie processHashSet, która przyjmuje trzy argumenty:
- Obiekt
HashSet<Object>(set) - Obiekt
Object(input) do przetworzenia - Obiekt
String(operation) określający operację do wykonania
Używając instrukcji if/else i poznanych już metod HashSet, metoda powinna zwracać ciąg znaków w zależności od wartości operation:
"add": dodajinputdo zbioru. Zwróć"Added successfully", jeśli element został dodany, albo"Element already exists", jeśli już znajdował się w zbiorze."remove": usuńinputze zbioru. Zwróć"Removed successfully", jeśli element został usunięty, albo"Element not found", jeśli nie znajdował się w zbiorze."find": zwróć"Found at index: [index]", jeśli zbiór zawierainput(gdzie[index]oznacza pozycję elementu w kolejności iteracji); w przeciwnym razie zwróć"Element not found"."count": zwróć"Number of elements: [count]", gdzie[count]oznacza liczbę elementów w zbiorze (użyjsize()).
Najpierw sprawdź poprawność danych wejściowych:
- Jeśli
setma wartośćnull: zwróć"Invalid set". - Jeśli
operationma wartośćnulllub nie jest jedną z czterech powyższych wartości: zwróć"Invalid operation". - W przypadku operacji
"find", jeśliinputma wartośćnull: zwróć"Cannot find null".
Spróbuj swoich sił
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) {
// Napisz tutaj swój kod
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Wczytaj zbiór początkowy
String[] items = scanner.nextLine().split(",");
HashSet<Object> set = new HashSet<>();
if (!items[0].equals("empty")) {
for (String item : items) {
// Najpierw spróbuj przekonwertować na liczbę całkowitą
try {
set.add(Integer.parseInt(item));
} catch (NumberFormatException e) {
set.add(item);
}
}
}
// Wczytaj dane wejściowe
String inputStr = scanner.nextLine();
Object input;
try {
input = Integer.parseInt(inputStr);
} catch (NumberFormatException e) {
input = inputStr;
}
// Wczytaj operację
String operation = scanner.nextLine();
System.out.println(processHashSet(set, input, operation));
}
}Wszystkie lekcje w sekcji Logika i przepływ sterowania
1Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DDodawanie i odejmowanie macierzyTablice postrzępioneTablice 3D i większeTypowe wzorce dla tablic 2DPodsumowanie — wszystko o tablicach4HashSet — część 1
Czym jest HashSet?Dodawanie elementuUsuwanie elementuSprawdzanie, czy element istniejePusty i rozmiarCzyszczenie i klonowaniePodsumowanie — HashSet2HashMap część 1
Czym jest HashMap?Deklarowanie HashMapDostęp do wartościSprawdzanie, czy klucz istniejeModyfikowanie słownikówPodsumowanie — HashMap3HashMap — część 2
Metody HashMapIterowanie za pomocą keySet()Iterowanie za pomocą entrySet()Zagnieżdżona HashMapPowtórka — zarządzanie magazynemPowtórka — operacje na HashMap6Zaawansowany przepływ sterowania
Instrukcje etykietująceWyrażenie switchDopasowywanie wzorcówKlauzule ochronnePowtórzenie — przepływ sterowania9Projekt — licznik unikalnych słów
Wprowadzanie i przechowywanie tekstuPrzetwarzanie słówPoćwicz samodzielnie: Kompilator Java online