@Override @Nonnull public UpdatableQHashIntSetGO newUpdatableSet(Iterable<Integer> elems1, Iterable<Integer> elems2, Iterable<Integer> elems3, Iterable<Integer> elems4, int expectedSize) { UpdatableQHashIntSetGO set = newUpdatableSet(expectedSize); addAll(set, elems1); addAll(set, elems2); addAll(set, elems3); addAll(set, elems4); return shrunk(set); }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj instanceof HashIntSetFactory) { HashIntSetFactory factory = (HashIntSetFactory) obj; return commonEquals(factory) && keySpecialEquals(factory); } else { return false; } }
@Override public int hashCode() { return keySpecialHashCode(commonHashCode()); }
@Override public final HashIntSetFactory withDefaultExpectedSize(int defaultExpectedSize) { if (defaultExpectedSize == getDefaultExpectedSize()) return this; return thisWith(getHashConfig(), defaultExpectedSize , getLowerKeyDomainBound(), getUpperKeyDomainBound()); }
@Override public final HashIntSetFactory withHashConfig(@Nonnull HashConfig hashConf) { if (configIsSuitableForMutableLHash(hashConf)) return lHashLikeThisWith(hashConf, getDefaultExpectedSize() , getLowerKeyDomainBound(), getUpperKeyDomainBound()); return qHashLikeThisWith(hashConf, getDefaultExpectedSize() , getLowerKeyDomainBound(), getUpperKeyDomainBound()); }
@Override @Nonnull public UpdatableQHashIntSetGO newUpdatableSet() { return this.newUpdatableSet(getDefaultExpectedSize()); } @Override
@Override @Nonnull public UpdatableQHashIntSetGO newUpdatableSet(Iterable<Integer> elements) { return this.newUpdatableSet(elements, sizeOr(elements, getDefaultExpectedSize())); }
@Override @Nonnull public MutableQHashIntSetGO newMutableSet() { return this.newMutableSet(getDefaultExpectedSize()); }
@Override public String toString() { return "HashIntSetFactory[" + commonString() + keySpecialString() + "]"; }
@Override public final HashIntSetFactory withDefaultExpectedSize(int defaultExpectedSize) { if (defaultExpectedSize == getDefaultExpectedSize()) return this; return thisWith(getHashConfig(), defaultExpectedSize , getLowerKeyDomainBound(), getUpperKeyDomainBound()); }
@Override public final HashIntSetFactory withHashConfig(@Nonnull HashConfig hashConf) { if (configIsSuitableForMutableLHash(hashConf)) return lHashLikeThisWith(hashConf, getDefaultExpectedSize() , getLowerKeyDomainBound(), getUpperKeyDomainBound()); return qHashLikeThisWith(hashConf, getDefaultExpectedSize() , getLowerKeyDomainBound(), getUpperKeyDomainBound()); }
@Override @Nonnull public UpdatableQHashIntSetGO newUpdatableSet(Iterator<Integer> elements) { return this.newUpdatableSet(elements, getDefaultExpectedSize()); }
@Override @Nonnull public UpdatableQHashIntSetGO newUpdatableSet(Iterable<Integer> elements) { return this.newUpdatableSet(elements, sizeOr(elements, getDefaultExpectedSize())); }
@Override @Nonnull public MutableQHashIntSetGO newMutableSet() { return this.newMutableSet(getDefaultExpectedSize()); }
@Override public String toString() { return "HashIntSetFactory[" + commonString() + keySpecialString() + "]"; }
@Override @Nonnull public UpdatableQHashIntSetGO newUpdatableSet(Iterable<Integer> elems1, Iterable<Integer> elems2, Iterable<Integer> elems3, int expectedSize) { UpdatableQHashIntSetGO set = newUpdatableSet(expectedSize); addAll(set, elems1); addAll(set, elems2); addAll(set, elems3); return shrunk(set); }
@Override @Nonnull public UpdatableQHashIntSetGO newUpdatableSet() { return this.newUpdatableSet(getDefaultExpectedSize()); } @Override
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj instanceof HashIntSetFactory) { HashIntSetFactory factory = (HashIntSetFactory) obj; return commonEquals(factory) && keySpecialEquals(factory); } else { return false; } }
@Override public int hashCode() { return keySpecialHashCode(commonHashCode()); }
@Override @Nonnull public UpdatableQHashIntSetGO newUpdatableSet(Iterable<Integer> elems1, Iterable<Integer> elems2, Iterable<Integer> elems3, int expectedSize) { UpdatableQHashIntSetGO set = newUpdatableSet(expectedSize); addAll(set, elems1); addAll(set, elems2); addAll(set, elems3); return shrunk(set); }