IniziaInizia gratis

Implementare un rilevatore di transazioni duplicate

I log delle transazioni finanziarie devono essere convalidati per assicurare che ogni ID transazione sia univoco. Il tuo compito è implementare un metodo che verifichi in modo efficiente la presenza di eventuali ID transazione duplicati.

Questo esercizio fa parte del corso

Ottimizzazione del codice in Java

Visualizza il corso

Istruzioni dell'esercizio

  • Inizializza la variabile seen come un Set vuoto.
  • Aggiungi le transazioni a seen se non le hai già incontrate.
  • Restituisci il valore booleano appropriato se il ciclo termina senza trovare duplicati.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

public class Main {
    public static void main(String[] args) {
        TransactionProcessor processor = new TransactionProcessor();
        
        String[] transactions = {
            "TXN001", "TXN002", "TXN003", "TXN001", 
            "TXN004", "TXN005", "TXN003", "TXN006"
        };

        boolean hasDuplicates = processor.hasDuplicateTransactions(transactions);
        if (hasDuplicates) {
            System.out.println("Duplicate transactions detected!");
        } else {
            System.out.println("All transactions are unique.");
        }
    }
}

class TransactionProcessor {
    public boolean hasDuplicateTransactions(String[] transactionIds) {
        // Initialize an empty HashSet
        ____ seen = new ____<>();
        
        for (String transactionId : transactionIds) {
            if (seen.contains(transactionId)) {
                return true;
            } else {
                // First time seeing this transaction, add it to the set
                seen.____(____)
            }
        }
        
        // Return true/false if no duplicates found
        return ____;
    }
}
Modifica ed esegui il codice