Rate counter: Difference between revisions

→‎{{header|Java}}: include non-stream version
(Major refactoring done to exhibit java.util.stream usage)
(→‎{{header|Java}}: include non-stream version)
Line 658:
 
=={{header|Java}}==
{{trans|JavaScript}}
{{works with|Java|8}}
<lang java>import java.util.function.Consumer;
 
public class RateCounter {
 
public static void main(String[] args) {
for (double d : benchmark(10, x -> System.out.print(""), 10))
System.out.println(d);
}
 
static double[] benchmark(int n, Consumer<Integer> f, int arg) {
double[] timings = new double[n];
for (int i = 0; i < n; i++) {
long time = System.nanoTime();
f.accept(arg);
timings[i] = System.nanoTime() - time;
}
return timings;
}
}</lang>
 
<pre>70469.0
2047.0
1169.0
877.0
877.0
877.0
877.0
877.0
877.0
877.0</pre>
 
=== Stream based solution ===
{{trans|JavaScript}}
{{works with|Java|8}}
Anonymous user