始める無料で始める

重複トランザクション検出の実装

金融トランザクションのログでは、各トランザクションIDが一意であることを検証する必要があります。あなたのタスクは、重複するトランザクションIDが存在するかを効率的にチェックするメソッドを実装することです。

この演習はコースの一部です

Javaコード最適化

コースを見る

演習の手順

  • seen 変数を空の Set として初期化します。
  • まだ見ていないトランザクションを seen に追加します。
  • ループで重複が見つからなかった場合、適切な真偽値を返します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

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 ____;
    }
}
コードを編集して実行