8180352: Add Stream.toList() method

Reviewed-by: psandoz
This commit is contained in:
Stuart Marks 2020-11-30 19:37:56 +00:00
parent 89690699b2
commit 41dbc139ab
8 changed files with 403 additions and 87 deletions

View file

@ -26,6 +26,7 @@ package java.util.stream;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Spliterator;
@ -44,6 +45,7 @@ import java.util.function.Supplier;
import java.util.function.ToDoubleFunction;
import java.util.function.ToIntFunction;
import java.util.function.ToLongFunction;
import jdk.internal.access.SharedSecrets;
/**
* Abstract base class for an intermediate pipeline stage or pipeline source
@ -620,6 +622,11 @@ abstract class ReferencePipeline<P_IN, P_OUT>
return toArray(Object[]::new);
}
@Override
public List<P_OUT> toList() {
return SharedSecrets.getJavaUtilCollectionAccess().listFromTrustedArrayNullsAllowed(this.toArray());
}
@Override
public final boolean anyMatch(Predicate<? super P_OUT> predicate) {
return evaluate(MatchOps.makeRef(predicate, MatchOps.MatchKind.ANY));