Ripasso - HashSet
Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 28 di 59.
Sfida
FacileCrea un metodo chiamato processHashSet che accetta tre argomenti:
- Un
HashSet<Object>(set) - Un
Object(input) da elaborare - Una
String(operation) che specifica l’operazione da eseguire
Usando istruzioni if/else e i metodi di HashSet che hai già imparato, il metodo dovrebbe restituire una String in base a operation:
"add": aggiungiinputal set. Restituisci"Added successfully"se è stato aggiunto, oppure"Element already exists"se era già presente nel set."remove": rimuoviinputdal set. Restituisci"Removed successfully"se è stato rimosso, oppure"Element not found"se non era presente nel set."find": restituisci"Found at index: [index]"se il set contieneinput(dove[index]è la posizione dell’elemento nell’ordine di iterazione), altrimenti"Element not found"."count": restituisci"Number of elements: [count]", dove[count]è il numero di elementi nel set (usasize()).
Convalida prima gli input:
- Se
setènull: restituisci"Invalid set". - Se
operationènullo non è una delle quattro operazioni indicate sopra: restituisci"Invalid operation". - Per l’operazione
"find", seinputènull: restituisci"Cannot find null".
Provalo tu
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) {
// Scrivi qui il tuo codice
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Leggi l'insieme iniziale
String[] items = scanner.nextLine().split(",");
HashSet<Object> set = new HashSet<>();
if (!items[0].equals("empty")) {
for (String item : items) {
// Prova prima a convertire in un intero
try {
set.add(Integer.parseInt(item));
} catch (NumberFormatException e) {
set.add(item);
}
}
}
// Leggi l'input
String inputStr = scanner.nextLine();
Object input;
try {
input = Integer.parseInt(inputStr);
} catch (NumberFormatException e) {
input = inputStr;
}
// Leggi l'operazione
String operation = scanner.nextLine();
System.out.println(processHashSet(set, input, operation));
}
}Tutte le lezioni di Logica e flusso
1Array multidimensionali
Concetti di base degli array 2DAccesso agli elementi degli array 2DCicli annidati con array 2DRiepilogo - Array 2DAddizione e sottrazione di matriciArray irregolariArray 3D e oltreSchemi comuni degli array 2DRiepilogo - Tutto sugli array4HashSet Parte 1
Che cos'è un HashSet?Aggiungere un elementoRimuovere un elementoVerificare se un elemento esisteVuoto e dimensioneSvuotare e clonareRipasso - HashSet7Gestione di base degli errori
Nozioni di base su try-catchBlocco finallyLancio di eccezioniEccezioni personalizzate2HashMap Parte 1
Che cos'è una HashMap?Dichiarare una HashMapAccedere ai valoriVerificare se una chiave esisteModificare i dizionariRiepilogo - HashMap3HashMap Parte 2
Metodi di HashMapIterare con keySet()Iterare con entrySet()HashMap annidateRiepilogo - Gestire il magazzinoRiepilogo - Operazioni con HashMap6Flusso di controllo avanzato
Istruzioni con etichettaEspressione switchCorrispondenza dei patternClausole guardiaRiepilogo - Flusso di controllo9Progetto - Contatore di parole uniche
Inserimento e memorizzazione del testoElaborazione delle paroleEsercitati da solo: Compilatore Java online