@Override public boolean contains(final E e) { return wrappedSet.contains(e); }
@Override public int size() { return set.size(); }
@Override public boolean isEmpty() { return set.isEmpty(); }
@Override @SuppressWarnings("unchecked") public boolean equals(Object o) { if (o == this) return true; if (!(o instanceof Set)) return false; final Set other = (Set) o; if (other.size() != size()) return false; for (E a : this) { try { if (!other.contains(a)) { return false; } } catch (NullPointerException e) { return false; } catch (ClassCastException e) { return false; } } return true; }
@Override public PersistentSet<E> plus(final E e) { return new PSet<>(wrappedSet.add(e)); }
@NotNull @Override public Object[] toArray() { return set.toArray(); }
@NotNull @Override public Iterator<E> iterator() { return set.iterator(); }
@Override public java.util.Set<E> asSet() { return wrappedSet.asSet(); } }
@Override @SuppressWarnings("unchecked") public boolean equals(Object o) { if (o == this) return true; if (!(o instanceof Set)) return false; final Set other = (Set) o; if (other.size() != size()) return false; for (E a : this) { try { if (!other.contains(a)) { return false; } } catch (NullPointerException e) { return false; } catch (ClassCastException e) { return false; } } return true; }
@NotNull @SuppressWarnings("unchecked") public static <E> Set<E> of(E e1, E e2, E e3, E e4, E e5, E e6, E e7, E e8, E e9, E e10, E... others) { Set<E> set = construct(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10); for (E e : others) { set = set.add(e); } return set; }
@NotNull @Override public Object[] toArray() { return set.toArray(); }
@NotNull @Override public Iterator<E> iterator() { return set.iterator(); }
@Override public java.util.Set<E> asSet() { return wrappedSet.asSet(); } }
@Override @SuppressWarnings("unchecked") public boolean equals(Object o) { if (o == this) return true; if (!(o instanceof Set)) return false; final Set other = (Set) o; if (other.size() != size()) return false; for (E a : this) { try { if (!other.contains(a)) { return false; } } catch (NullPointerException e) { return false; } catch (ClassCastException e) { return false; } } return true; }
private static <E> Set<E> construct(E... es) { Set<E> set = HashSet.empty(); for (E e : es) { set = set.add(e); } return set; }
@Override public int size() { return set.size(); }
@Override public boolean contains(final E e) { return wrappedSet.contains(e); }
@NotNull @Override public Object[] toArray() { return set.toArray(); }
@NotNull @Override public Iterator<E> iterator() { return set.iterator(); }
@Override public boolean isEmpty() { return set.isEmpty(); }