Giriş
İmzası şöyle.
Hazır collector kullanmak istersek şöyle yaparız.
Elimizde bir Collector olsun.
İmzası şöyle.
<R, A> R collect(Collector<? super T, A, R> collector);
ÖrnekHazır collector kullanmak istersek şöyle yaparız.
yourList.stream().collect(Collectors.joining(","))
ÖrnekElimizde bir Collector olsun.
class PackCollector<T> implements Collector<T, List<List<T>>, List<List<T>>> {
@Override
public Supplier<List<List<T>>> supplier() {
return () -> {
...
};
}
@Override
public BiConsumer<List<List<T>>, T> accumulator() {
return (list, s) -> {
...
};
}
@Override
public BinaryOperator<List<List<T>>> combiner() {
return (left, right) -> {
...
};
}
@Override
public Set<Characteristics> characteristics() {
return EnumSet.of(Characteristics.IDENTITY_FINISH);
}
@Override
public Function<List<List<T>>, List<List<T>>> finisher() {
return Function.identity();
}
}
Şöyle yaparız.List<List<String>> result = items.stream().parallel().collect(new PackCollector<>());
System.out.println(result);
Hiç yorum yok:
Yorum Gönder