/** * @param e * @return * @see java.util.AbstractCollection#add(java.lang.Object) */ public boolean add(T e) { return set.add(e); }
/** * @param c * @return * @see java.util.AbstractCollection#addAll(java.util.Collection) */ @Deprecated public boolean addAll(Collection<? extends T> c) { return set.addAll(c); }
/** * * @see java.util.AbstractCollection#clear() */ @Deprecated public void clear() { set.clear(); }
/** * @param list * @return * @see org.pcollections.MapPSet#plusAll(java.util.Collection) */ public PBagX<T> plusAll(Collection<? extends T> list) { return new PBagXImpl<>(set.plusAll(list)); }
/** * @param e * @return * @see org.pcollections.MapPSet#plus(java.lang.Object) */ public PBagX<T> plus(T e) { return new PBagXImpl<>(set.plus(e)); }
/** * @param list * @return * @see org.pcollections.MapPSet#minusAll(java.util.Collection) */ public PBagX<T> minusAll(Collection<?> list) { return new PBagXImpl<>(set.minusAll(list)); }
/** * @param e * @return * @see org.pcollections.MapPSet#minus(java.lang.Object) */ public PBagX<T> minus(Object e) { return new PBagXImpl<>(set.minus(e)); }
/** * @param e * @return * @see org.pcollections.MapPSet#contains(java.lang.Object) */ public boolean contains(Object e) { return set.contains(e); }
/** * @param c * @return * @see java.util.AbstractCollection#containsAll(java.util.Collection) */ public boolean containsAll(Collection<?> c) { return set.containsAll(c); }
@Override public BagX<T> plusAll(Collection<? extends T> list) { return from(get().plusAll(list)); }
@Override public BagX<T> plus(T e) { return from(get().plus(e)); }
@Override public BagX<T> minusAll(Collection<?> list) { return from(get().minusAll(list)); }
@Override public BagX<T> minus(Object remove) { return from(get().minus(remove)); }
public static <T> Monoid<PBag<T>> toPBag() { return Monoid.<PBag<T>>of(HashTreePBag.empty(), (PBag<T> a) -> b -> a.plusAll(b), (T x) -> HashTreePBag.singleton(x)); } public static <T> Monoid<PSet<T>> toPSet() {
/** * <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)); } /**