public static <E> POrderedSet<E> orderedSet() { return OrderedPSet.empty(); }
@Override public OrderedPSet<E> minusAll(Collection<?> list) { OrderedPSet<E> s = this; for (Object e : list) { s = s.minus(e); } return s; }
@Override public OrderedPSet<E> plus(E e) { if (contents.contains(e)) return this; return new OrderedPSet<E>(contents.plus(e), order.plus(e)); }
@Override public OrderedPSet<E> plusAll(Collection<? extends E> list) { OrderedPSet<E> s = this; for (E e : list) { s = s.plus(e); } return s; }
public void testSerializationForOrderedPSet() { final OrderedPSet<String> initialOrderedPSet = OrderedPSet.from(Arrays.asList(ELEMENT1, ELEMENT2, ELEMENT3)); final byte[] serializedOrderedPSet = serializeToByteArray(initialOrderedPSet); assertNotNull(serializedOrderedPSet); assertTrue(serializedOrderedPSet.length > 0); @SuppressWarnings("unchecked") final OrderedPSet<String> deserializedOrderedPSet = deserializeFromByteArray(serializedOrderedPSet, OrderedPSet.class); assertNotNull(deserializedOrderedPSet); assertEquals(3, deserializedOrderedPSet.size()); assertNotSame(initialOrderedPSet, deserializedOrderedPSet); assertEquals(0, deserializedOrderedPSet.indexOf(ELEMENT1)); assertEquals(1, deserializedOrderedPSet.indexOf(ELEMENT2)); assertEquals(2, deserializedOrderedPSet.indexOf(ELEMENT3)); }
public static <T> POrderedSet<T> singleton(T value){ return OrderedPSet.singleton(value); } public static<T> POrderedSet<T> fromCollection(Collection<T> stream){
public static<T> POrderedSet<T> fromCollection(Collection<T> stream){ if(stream instanceof POrderedSet) return (POrderedSet)(stream); return OrderedPSet.from(stream); } public static<T> POrderedSet<T> toPOrderedSet(Stream<T> stream){
/** * <pre> * {@code * POrderedSet<Integer> q = Reducers.<Integer>toPOrderedSet() .mapReduce(Stream.of(1,2,3,4)); * * } * </pre> * @return Reducer to POrderedSet */ public static <T> Reducer<POrderedSet<T>> toPOrderedSet() { return Reducer.<POrderedSet<T>> of(OrderedPSet.empty(), (final POrderedSet<T> a) -> b -> a.plusAll(b), (final T x) -> OrderedPSet.singleton(x)); } /**
@Override public OrderedPSet<E> minus(Object e) { if (!contents.contains(e)) return this; return new OrderedPSet<E>(contents.minus(e), order.minus(e)); }
@Override public OrderedPSet<E> plusAll(Collection<? extends E> list) { OrderedPSet<E> s = this; for (E e : list) { s = s.plus(e); } return s; }
public static <T> POrderedSetX<T> singleton(T value){ return new POrderedSetXImpl<>(OrderedPSet.singleton(value)); } public static<T> POrderedSetX<T> fromCollection(Collection<T> stream){
public static <T> POrderedSet<T> of(T...values){ return OrderedPSet.from(Arrays.asList(values)); } public static <T> POrderedSet<T> empty(){
public static <E> POrderedSet<E> orderedSet() { return OrderedPSet.empty(); }
@Override public OrderedPSet<E> minus(Object e) { if (!contents.contains(e)) return this; return new OrderedPSet<E>(contents.minus(e), order.minus(e)); }