MINOR: Optimize map lookup efficiency with getOrDefault (#20229)
Optimized `getRemainingRecords()` method by replacing inefficient
`containsKey() + get()` pattern with `getOrDefault()` to reduce map
lookups from 2 to 1 per partition.
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
diff --git a/examples/src/main/java/kafka/examples/ExactlyOnceMessageProcessor.java b/examples/src/main/java/kafka/examples/ExactlyOnceMessageProcessor.java
index 175385b..d424952 100644
--- a/examples/src/main/java/kafka/examples/ExactlyOnceMessageProcessor.java
+++ b/examples/src/main/java/kafka/examples/ExactlyOnceMessageProcessor.java
@@ -216,11 +216,7 @@
}
return consumer.assignment().stream().mapToLong(partition -> {
long currentPosition = consumer.position(partition);
- if (fullEndOffsets.containsKey(partition)) {
- return fullEndOffsets.get(partition) - currentPosition;
- } else {
- return 0;
- }
+ return fullEndOffsets.getOrDefault(partition, currentPosition) - currentPosition;
}).sum();
}