@Override public MutableSet<T> tap(Procedure<? super T> procedure) { this.forEach(procedure); return this; }
@Override public MutableSet<T> tap(Procedure<? super T> procedure) { this.forEach(procedure); return this; }
@Override public MutableByteSet collectByte(ByteFunction<? super T> byteFunction) { MutableByteSet result = new ByteHashSet(); this.forEach(new CollectByteProcedure<>(byteFunction, result)); return result; }
@Override public MutableBooleanSet collectBoolean(BooleanFunction<? super T> booleanFunction) { MutableBooleanSet result = new BooleanHashSet(); this.forEach(new CollectBooleanProcedure<>(booleanFunction, result)); return result; }
@Override public MutableByteSet collectByte(ByteFunction<? super T> byteFunction) { MutableByteSet result = new ByteHashSet(); this.forEach(new CollectByteProcedure<>(byteFunction, result)); return result; }
@Override public PartitionMutableSet<T> partition(Predicate<? super T> predicate) { PartitionMutableSet<T> partitionMutableSet = new PartitionUnifiedSet<>(); this.forEach(new PartitionProcedure<>(predicate, partitionMutableSet)); return partitionMutableSet; }
@Override public <S> MutableSet<S> selectInstancesOf(Class<S> clazz) { MutableSet<S> result = (MutableSet<S>) this.newEmpty(); this.forEach(new SelectInstancesOfProcedure<>(clazz, result)); return result; }
@Override public MutableBooleanSet collectBoolean(BooleanFunction<? super T> booleanFunction) { MutableBooleanSet result = new BooleanHashSet(); this.forEach(new CollectBooleanProcedure<>(booleanFunction, result)); return result; }
@Override public <P> PartitionMutableSet<T> partitionWith(Predicate2<? super T, ? super P> predicate, P parameter) { PartitionMutableSet<T> partitionMutableSet = new PartitionUnifiedSet<>(); this.forEach(new PartitionPredicate2Procedure<>(predicate, parameter, partitionMutableSet)); return partitionMutableSet; }
@Override public <S> MutableSet<S> selectInstancesOf(Class<S> clazz) { MutableSet<S> result = (MutableSet<S>) this.newEmpty(); this.forEach(new SelectInstancesOfProcedure<>(clazz, result)); return result; }
@Override public MutableDoubleSet collectDouble(DoubleFunction<? super T> doubleFunction) { MutableDoubleSet result = new DoubleHashSet(this.size()); this.forEach(new CollectDoubleProcedure<>(doubleFunction, result)); return result; }
@Override public MutableLongSet collectLong(LongFunction<? super T> longFunction) { MutableLongSet result = new LongHashSet(this.size()); this.forEach(new CollectLongProcedure<>(longFunction, result)); return result; }
@Override public MutableShortSet collectShort(ShortFunction<? super T> shortFunction) { MutableShortSet result = new ShortHashSet(this.size()); this.forEach(new CollectShortProcedure<>(shortFunction, result)); return result; }
@Override public MutableIntSet collectInt(IntFunction<? super T> intFunction) { MutableIntSet result = new IntHashSet(this.size()); this.forEach(new CollectIntProcedure<>(intFunction, result)); return result; }
@Override public MutableLongSet collectLong(LongFunction<? super T> longFunction) { MutableLongSet result = new LongHashSet(this.size()); this.forEach(new CollectLongProcedure<>(longFunction, result)); return result; }
@Override public MutableDoubleSet collectDouble(DoubleFunction<? super T> doubleFunction) { MutableDoubleSet result = new DoubleHashSet(this.size()); this.forEach(new CollectDoubleProcedure<>(doubleFunction, result)); return result; }
@Override public MutableShortSet collectShort(ShortFunction<? super T> shortFunction) { MutableShortSet result = new ShortHashSet(this.size()); this.forEach(new CollectShortProcedure<>(shortFunction, result)); return result; }
@Override public MutableCharSet collectChar(CharFunction<? super T> charFunction) { MutableCharSet result = new CharHashSet(this.size()); this.forEach(new CollectCharProcedure<>(charFunction, result)); return result; }
@Override public MutableFloatSet collectFloat(FloatFunction<? super T> floatFunction) { MutableFloatSet result = new FloatHashSet(this.size()); this.forEach(new CollectFloatProcedure<>(floatFunction, result)); return result; }
@Override public MutableIntSet collectInt(IntFunction<? super T> intFunction) { MutableIntSet result = new IntHashSet(this.size()); this.forEach(new CollectIntProcedure<>(intFunction, result)); return result; }