Implementacja narzędzia do wykrywania duplikatów transakcji
Dzienniki transakcji finansowych muszą być walidowane, aby upewnić się, że każde ID transakcji jest unikatowe. Twoim zadaniem jest zaimplementowanie metody, która efektywnie sprawdza, czy wśród transakcji znajdują się duplikaty.
To ćwiczenie jest częścią kursu
Optymalizacja kodu w Javie
Instrukcje do ćwiczenia
- Zainicjalizuj zmienną
seenjako pusty obiektSet. - Dodawaj transakcje do
seen, jeśli nie zostały jeszcze napotkane. - Zwróć odpowiednią wartość logiczną, gdy pętla zakończy się bez znalezienia duplikatu.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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 ____;
}
}