public static <E> PBag<E> bag() { return HashTreePBag.empty(); }
public static<T> PBag<T> singleton(T value){ return HashTreePBag.singleton(value); } public static<T> PBag<T> fromCollection(Collection<T> stream){
public static<T> PBag<T> fromCollection(Collection<T> stream){ if(stream instanceof PBag) return (PBag)(stream); return HashTreePBag.from(stream); } public static<T> PBag<T> fromStream(Stream<T> stream){
/** * <pre> * {@code * PBag<Integer> q = Reducers.<Integer>toPBag() .mapReduce(Stream.of(1,2,3,4)); * * } * </pre> * @return Reducer for PBag */ public static <T> Reducer<PBag<T>> toPBag() { return Reducer.<PBag<T>> of(HashTreePBag.empty(), (final PBag<T> a) -> b -> a.plusAll(b), (final T x) -> HashTreePBag.singleton(x)); } /**
public static<T> PBagX<T> singleton(T value){ return new PBagXImpl<>(HashTreePBag.singleton(value)); }
public static<T> PBag<T> of(T...values){ return HashTreePBag.from(Arrays.asList(values)); }
public static <E> PBag<E> bag() { return HashTreePBag.empty(); }
public static <T> BagX<T> singleton(final T value) { //use concrete type for singleton as used in Reducers return new LazyPBagX<>( HashTreePBag.singleton(value),null,Reducers.toPBag(),Evaluation.LAZY); }
public static<T> PBagX<T> of(T...values){ return new PBagXImpl<>(HashTreePBag.from(Arrays.asList(values))); }
/** * @param <E> * @param e * @return empty().plus(e) */ public static <E> MapPBag<E> singleton(final E e) { return HashTreePBag.<E>empty().plus(e); }
public static<T> PBagX<T> fromCollection(Collection<T> stream){ if(stream instanceof PBagX) return (PBagX)stream; if(stream instanceof PBag) return new PBagXImpl<>((PBag)(stream)); return new PBagXImpl<>(HashTreePBag.from(stream)); } public static<T> PBagX<T> fromStream(Stream<T> stream){
/** * @param <E> * @param list * @return empty().plusAll(map) */ public static <E> MapPBag<E> from(final Collection<? extends E> list) { return HashTreePBag.<E>empty().plusAll(list); } }
/** * @param <E> * @param e * @return empty().plus(e) */ public static <E> MapPBag<E> singleton(final E e) { return HashTreePBag.<E>empty().plus(e); }
/** * @param <E> * @param list * @return empty().plusAll(map) */ public static <E> MapPBag<E> from(final Collection<? extends E> list) { return HashTreePBag.<E>empty().plusAll(list); } }
@Override protected MapPBag<Object> createEmptyCollection() { return HashTreePBag.empty(); } }
public static <E> PBag<E> bag() { return HashTreePBag.empty(); }
public static<T> PBag<T> empty(){ return HashTreePBag .empty(); } public static<T> PBag<T> singleton(T value){
public static <E> PBag<E> bag() { return HashTreePBag.empty(); }
/** * @param <E> * @param e * @return empty().plus(e) */ public static <E> MapPBag<E> singleton(final E e) { return HashTreePBag.<E>empty().plus(e); }