实现重复交易检测器
需要对金融交易日志进行校验,以确保每个交易 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 ____;
}
}