Skip to content
Sharp

Core Java · interview question

Given the following code snippet, how can it be optimized to avoid unnecessary iterations when calculating total discounts? for (int i = 0; i < discounts.length; i++) { if (discounts[i] == 0) continue; totalDiscount += discounts[i]; }?

Multiple choiceHardchapter-1-curatedpremiumcore-javaloops-and-iteration
java
int[] filteredDiscounts = Arrays.stream(discounts).filter(d -> d != 0).toArray(); for (int discount : filteredDiscounts) { totalDiscount += discount; }
Choose one answer
Answer and explanation

Correct answer

D. Filter the array before the loop

Why

Filtering the array before entering the loop reduces unnecessary iterations by excluding elements that won't contribute to the total. This optimizes performance by processing only the relevant data.

Test yourself on Core Java

A free test with instant, explained results. No account needed.

Start free test
All Core Java questions →