/** * Sort values going to `reduceBy` function by given comparator. * @param comparator function with contract defined by {@code java.util.Comparator#compare}. * * @return next step builder */ public DatasetBuilder4<IN, KEY, VALUE, OUT> withSortedValues( BinaryFunction<VALUE, VALUE, Integer> comparator) { return new SortableDatasetBuilder4<>( name, input, keyExtractor, keyClass, valueExtractor, reducer, comparator); }
@Override public <OUT> SortableDatasetBuilder4<IN, KEY, VALUE, OUT> reduceBy( ReduceFunctor<VALUE, OUT> reducer) { return new SortableDatasetBuilder4<>( name, input, keyExtractor, keyClass, valueExtractor, reducer, null); } }
@Override public <OUT> SortableDatasetBuilder4<IN, KEY, IN, OUT> reduceBy( ReduceFunctor<IN, OUT> reducer) { return new SortableDatasetBuilder4<>( name, input, keyExtractor, keyClass, e-> e, reducer, null); } }
@Override public <OUT> SortableDatasetBuilder4<IN, KEY, VALUE, OUT> reduceBy( ReduceFunctor<VALUE, OUT> reducer) { return new SortableDatasetBuilder4<>( name, input, keyExtractor, keyClass, valueExtractor, reducer, null); } }
@Override public <OUT> SortableDatasetBuilder4<IN, KEY, IN, OUT> reduceBy( ReduceFunctor<IN, OUT> reducer) { return new SortableDatasetBuilder4<>( name, input, keyExtractor, keyClass, e-> e, reducer, null); } }
/** * Sort values going to `reduceBy` function by given comparator. * @param comparator function with contract defined by {@code java.util.Comparator#compare}. * * @return next step builder */ public DatasetBuilder4<IN, KEY, VALUE, OUT> withSortedValues( BinaryFunction<VALUE, VALUE, Integer> comparator) { return new SortableDatasetBuilder4<>( name, input, keyExtractor, keyClass, valueExtractor, reducer, comparator); }