27 |
|
* @run main IteratorMicroBenchmark iterations=1 size=8 warmup=0 |
28 |
|
*/ |
29 |
|
|
30 |
+ |
import static java.util.stream.Collectors.toList; |
31 |
+ |
|
32 |
|
import java.lang.ref.WeakReference; |
33 |
|
import java.util.ArrayDeque; |
34 |
|
import java.util.ArrayList; |
35 |
+ |
import java.util.Arrays; |
36 |
|
import java.util.Enumeration; |
37 |
|
import java.util.Iterator; |
38 |
|
import java.util.List; |
168 |
|
} |
169 |
|
|
170 |
|
private static Job[] filter(Pattern filter, Job[] jobs) { |
171 |
< |
if (filter == null) return jobs; |
172 |
< |
Job[] newJobs = new Job[jobs.length]; |
173 |
< |
int n = 0; |
174 |
< |
for (Job job : jobs) |
175 |
< |
if (filter.matcher(job.name()).find()) |
173 |
< |
newJobs[n++] = job; |
174 |
< |
// Arrays.copyOf not available in JDK 5 |
175 |
< |
Job[] ret = new Job[n]; |
176 |
< |
System.arraycopy(newJobs, 0, ret, 0, n); |
177 |
< |
return ret; |
171 |
> |
return (filter == null) ? jobs |
172 |
> |
: Arrays.stream(jobs) |
173 |
> |
.filter(job -> filter.matcher(job.name()).find()) |
174 |
> |
.collect(toList()) |
175 |
> |
.toArray(new Job[0]); |
176 |
|
} |
177 |
|
|
178 |
|
private static void deoptimize(int sum) { |