com.koloboke.collect.set
Interface ObjSetFactory<E,F extends ObjSetFactory<E,F>>

Type Parameters:
E - the most general element type of the sets that could be constructed by this factory
F - the concrete factory type which extends this interface
All Superinterfaces:
ContainerFactory<F>
All Known Subinterfaces:
HashObjSetFactory<E>

public interface ObjSetFactory<E,F extends ObjSetFactory<E,F>>
extends ContainerFactory<F>

An immutable factory of ObjSets.

See Also:
ObjSet, @KolobokeSet

Method Summary
 Equivalence<E> getEquivalence()
          Returns the equivalence to which equivalence of the sets constructed by this factory is set.
<E2 extends E>
ObjSet<E2>
newImmutableSet(Consumer<Consumer<E2>> elementsSupplier)
          Constructs a new immutable set of elements consumed by the callback within the given closure.
<E2 extends E>
ObjSet<E2>
newImmutableSet(Consumer<Consumer<E2>> elementsSupplier, int expectedSize)
          Constructs a new immutable set of elements consumed by the callback within the given closure.
<E2 extends E>
ObjSet<E2>
newImmutableSet(E2[] elements)
          Constructs a new immutable set of elements from the given array.
<E2 extends E>
ObjSet<E2>
newImmutableSet(E2[] elements, int expectedSize)
          Constructs a new immutable set of elements from the given array.
<E2 extends E>
ObjSet<E2>
newImmutableSet(Iterable<? extends E2> elements)
          Constructs a new immutable set containing the elements in the specified iterable.
<E2 extends E>
ObjSet<E2>
newImmutableSet(Iterable<? extends E2> elements, int expectedSize)
          Constructs a new immutable set containing the elements in the specified iterable.
<E2 extends E>
ObjSet<E2>
newImmutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2)
          Constructs a new immutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newImmutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, int expectedSize)
          Constructs a new immutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newImmutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3)
          Constructs a new immutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newImmutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3, int expectedSize)
          Constructs a new immutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newImmutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3, Iterable<? extends E2> elems4)
          Constructs a new immutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newImmutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3, Iterable<? extends E2> elems4, int expectedSize)
          Constructs a new immutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newImmutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3, Iterable<? extends E2> elems4, Iterable<? extends E2> elems5)
          Constructs a new immutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newImmutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3, Iterable<? extends E2> elems4, Iterable<? extends E2> elems5, int expectedSize)
          Constructs a new immutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newImmutableSet(Iterator<? extends E2> elements)
          Constructs a new immutable set containing the elements traversed by the specified iterator.
<E2 extends E>
ObjSet<E2>
newImmutableSet(Iterator<? extends E2> elements, int expectedSize)
          Constructs a new immutable set containing the elements traversed by the specified iterator.
<E2 extends E>
ObjSet<E2>
newImmutableSetOf(E2 e1)
          Constructs a new immutable singleton set of the given element.
<E2 extends E>
ObjSet<E2>
newImmutableSetOf(E2 e1, E2 e2)
          Constructs a new immutable set of the two specified elements.
<E2 extends E>
ObjSet<E2>
newImmutableSetOf(E2 e1, E2 e2, E2 e3)
          Constructs a new immutable set of the three specified elements.
<E2 extends E>
ObjSet<E2>
newImmutableSetOf(E2 e1, E2 e2, E2 e3, E2 e4)
          Constructs a new immutable set of the four specified elements.
<E2 extends E>
ObjSet<E2>
newImmutableSetOf(E2 e1, E2 e2, E2 e3, E2 e4, E2 e5, E2... restElements)
          Constructs a new immutable set of the specified elements.
<E2 extends E>
ObjSet<E2>
newMutableSet()
          Constructs a new empty mutable set of the default expected size.
<E2 extends E>
ObjSet<E2>
newMutableSet(Consumer<Consumer<E2>> elementsSupplier)
          Constructs a new mutable set of elements consumed by the callback within the given closure.
<E2 extends E>
ObjSet<E2>
newMutableSet(Consumer<Consumer<E2>> elementsSupplier, int expectedSize)
          Constructs a new mutable set of elements consumed by the callback within the given closure.
<E2 extends E>
ObjSet<E2>
newMutableSet(E2[] elements)
          Constructs a new mutable set of elements from the given array.
<E2 extends E>
ObjSet<E2>
newMutableSet(E2[] elements, int expectedSize)
          Constructs a new mutable set of elements from the given array.
<E2 extends E>
ObjSet<E2>
newMutableSet(int expectedSize)
          Constructs a new empty mutable set of the given expected size.
<E2 extends E>
ObjSet<E2>
newMutableSet(Iterable<? extends E2> elements)
          Constructs a new mutable set containing the elements in the specified iterable.
<E2 extends E>
ObjSet<E2>
newMutableSet(Iterable<? extends E2> elements, int expectedSize)
          Constructs a new mutable set containing the elements in the specified iterable.
<E2 extends E>
ObjSet<E2>
newMutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2)
          Constructs a new mutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newMutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, int expectedSize)
          Constructs a new mutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newMutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3)
          Constructs a new mutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newMutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3, int expectedSize)
          Constructs a new mutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newMutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3, Iterable<? extends E2> elems4)
          Constructs a new mutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newMutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3, Iterable<? extends E2> elems4, int expectedSize)
          Constructs a new mutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newMutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3, Iterable<? extends E2> elems4, Iterable<? extends E2> elems5)
          Constructs a new mutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newMutableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3, Iterable<? extends E2> elems4, Iterable<? extends E2> elems5, int expectedSize)
          Constructs a new mutable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newMutableSet(Iterator<? extends E2> elements)
          Constructs a new mutable set containing the elements traversed by the specified iterator.
<E2 extends E>
ObjSet<E2>
newMutableSet(Iterator<? extends E2> elements, int expectedSize)
          Constructs a new mutable set containing the elements traversed by the specified iterator.
<E2 extends E>
ObjSet<E2>
newMutableSetOf(E2 e1)
          Constructs a new mutable singleton set of the given element.
<E2 extends E>
ObjSet<E2>
newMutableSetOf(E2 e1, E2 e2)
          Constructs a new mutable set of the two specified elements.
<E2 extends E>
ObjSet<E2>
newMutableSetOf(E2 e1, E2 e2, E2 e3)
          Constructs a new mutable set of the three specified elements.
<E2 extends E>
ObjSet<E2>
newMutableSetOf(E2 e1, E2 e2, E2 e3, E2 e4)
          Constructs a new mutable set of the four specified elements.
<E2 extends E>
ObjSet<E2>
newMutableSetOf(E2 e1, E2 e2, E2 e3, E2 e4, E2 e5, E2... restElements)
          Constructs a new mutable set of the specified elements.
<E2 extends E>
ObjSet<E2>
newUpdatableSet()
          Constructs a new empty updatable set of the default expected size.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(Consumer<Consumer<E2>> elementsSupplier)
          Constructs a new updatable set of elements consumed by the callback within the given closure.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(Consumer<Consumer<E2>> elementsSupplier, int expectedSize)
          Constructs a new updatable set of elements consumed by the callback within the given closure.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(E2[] elements)
          Constructs a new updatable set of elements from the given array.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(E2[] elements, int expectedSize)
          Constructs a new updatable set of elements from the given array.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(int expectedSize)
          Constructs a new empty updatable set of the given expected size.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(Iterable<? extends E2> elements)
          Constructs a new updatable set containing the elements in the specified iterable.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(Iterable<? extends E2> elements, int expectedSize)
          Constructs a new updatable set containing the elements in the specified iterable.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2)
          Constructs a new updatable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, int expectedSize)
          Constructs a new updatable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3)
          Constructs a new updatable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3, int expectedSize)
          Constructs a new updatable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3, Iterable<? extends E2> elems4)
          Constructs a new updatable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3, Iterable<? extends E2> elems4, int expectedSize)
          Constructs a new updatable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3, Iterable<? extends E2> elems4, Iterable<? extends E2> elems5)
          Constructs a new updatable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(Iterable<? extends E2> elems1, Iterable<? extends E2> elems2, Iterable<? extends E2> elems3, Iterable<? extends E2> elems4, Iterable<? extends E2> elems5, int expectedSize)
          Constructs a new updatable set which merge the elements of the specified iterables.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(Iterator<? extends E2> elements)
          Constructs a new updatable set containing the elements traversed by the specified iterator.
<E2 extends E>
ObjSet<E2>
newUpdatableSet(Iterator<? extends E2> elements, int expectedSize)
          Constructs a new updatable set containing the elements traversed by the specified iterator.
<E2 extends E>
ObjSet<E2>
newUpdatableSetOf(E2 e1)
          Constructs a new updatable singleton set of the given element.
<E2 extends E>
ObjSet<E2>
newUpdatableSetOf(E2 e1, E2 e2)
          Constructs a new updatable set of the two specified elements.
<E2 extends E>
ObjSet<E2>
newUpdatableSetOf(E2 e1, E2 e2, E2 e3)
          Constructs a new updatable set of the three specified elements.
<E2 extends E>
ObjSet<E2>
newUpdatableSetOf(E2 e1, E2 e2, E2 e3, E2 e4)
          Constructs a new updatable set of the four specified elements.
<E2 extends E>
ObjSet<E2>
newUpdatableSetOf(E2 e1, E2 e2, E2 e3, E2 e4, E2 e5, E2... restElements)
          Constructs a new updatable set of the specified elements.
 
Methods inherited from interface com.koloboke.collect.ContainerFactory
getDefaultExpectedSize, withDefaultExpectedSize
 

Method Detail

getEquivalence

@Nonnull
Equivalence<E> getEquivalence()
Returns the equivalence to which equivalence of the sets constructed by this factory is set.

Returns:
the key equivalence of the maps constructed by this factory

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet()
Constructs a new empty mutable set of the default expected size.

Type Parameters:
E2 - the element type of the returned set
Returns:
a new empty mutable set

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet(int expectedSize)
Constructs a new empty mutable set of the given expected size.

Type Parameters:
E2 - the element type of the returned set
Parameters:
expectedSize - the expected size of the returned set
Returns:
a new empty mutable set of the given expected size

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                                Iterable<? extends E2> elements,
                                                int expectedSize)
Constructs a new mutable set containing the elements in the specified iterable.

If the specified iterable is an instance of ObjSet and has the same equivalence with this factory (and thus the constructed set), the expectedSize argument is ignored.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the iterable whose elements are to be placed into the returned set
expectedSize - the expected size of the returned set
Returns:
a new mutable set of the elements of the specified iterable

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                                Iterable<? extends E2> elems1,
                                                @Nonnull
                                                Iterable<? extends E2> elems2,
                                                int expectedSize)
Constructs a new mutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
expectedSize - the expected size of the returned set
Returns:
a new mutable set which merge the elements of the specified iterables

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                                Iterable<? extends E2> elems1,
                                                @Nonnull
                                                Iterable<? extends E2> elems2,
                                                @Nonnull
                                                Iterable<? extends E2> elems3,
                                                int expectedSize)
Constructs a new mutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
expectedSize - the expected size of the returned set
Returns:
a new mutable set which merge the elements of the specified iterables

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                                Iterable<? extends E2> elems1,
                                                @Nonnull
                                                Iterable<? extends E2> elems2,
                                                @Nonnull
                                                Iterable<? extends E2> elems3,
                                                @Nonnull
                                                Iterable<? extends E2> elems4,
                                                int expectedSize)
Constructs a new mutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
elems4 - the fourth source of elements for the returned set
expectedSize - the expected size of the returned set
Returns:
a new mutable set which merge the elements of the specified iterables

newMutableSet

<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                        Iterable<? extends E2> elems1,
                                        @Nonnull
                                        Iterable<? extends E2> elems2,
                                        @Nonnull
                                        Iterable<? extends E2> elems3,
                                        @Nonnull
                                        Iterable<? extends E2> elems4,
                                        @Nonnull
                                        Iterable<? extends E2> elems5,
                                        int expectedSize)
Constructs a new mutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
elems4 - the fourth source of elements for the returned set
elems5 - the fifth source of elements for the returned set
expectedSize - the expected size of the returned set
Returns:
a new mutable set which merge the elements of the specified iterables

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                                Iterator<? extends E2> elements,
                                                int expectedSize)
Constructs a new mutable set containing the elements traversed by the specified iterator.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the iterator from which elements are to be placed into the returned set
expectedSize - the expected size of the returned set
Returns:
a new mutable set containing the elements traversed by the specified iterator

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                                Consumer<Consumer<E2>> elementsSupplier,
                                                int expectedSize)
Constructs a new mutable set of elements consumed by the callback within the given closure.

Example: TODO

Type Parameters:
E2 - the element type of the returned set
Parameters:
elementsSupplier - the function which supply mappings for the returned set via the callback passed in
expectedSize - the expected size of the returned set
Returns:
a new mutable set of elements consumed by the callback within the given closure

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                                E2[] elements,
                                                int expectedSize)
Constructs a new mutable set of elements from the given array.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the array whose elements are to be placed into the returned set
expectedSize - the expected size of the returned set
Returns:
a new mutable set of elements from the given array

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                                Iterable<? extends E2> elements)
Constructs a new mutable set containing the elements in the specified iterable.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the iterable whose elements are to be placed into the returned set
Returns:
a new mutable set of the elements of the specified iterable

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                                Iterable<? extends E2> elems1,
                                                @Nonnull
                                                Iterable<? extends E2> elems2)
Constructs a new mutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
Returns:
a new mutable set which merge the elements of the specified iterables

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                                Iterable<? extends E2> elems1,
                                                @Nonnull
                                                Iterable<? extends E2> elems2,
                                                @Nonnull
                                                Iterable<? extends E2> elems3)
Constructs a new mutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
Returns:
a new mutable set which merge the elements of the specified iterables

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                                Iterable<? extends E2> elems1,
                                                @Nonnull
                                                Iterable<? extends E2> elems2,
                                                @Nonnull
                                                Iterable<? extends E2> elems3,
                                                @Nonnull
                                                Iterable<? extends E2> elems4)
Constructs a new mutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
elems4 - the fourth source of elements for the returned set
Returns:
a new mutable set which merge the elements of the specified iterables

newMutableSet

<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                        Iterable<? extends E2> elems1,
                                        @Nonnull
                                        Iterable<? extends E2> elems2,
                                        @Nonnull
                                        Iterable<? extends E2> elems3,
                                        @Nonnull
                                        Iterable<? extends E2> elems4,
                                        @Nonnull
                                        Iterable<? extends E2> elems5)
Constructs a new mutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
elems4 - the fourth source of elements for the returned set
elems5 - the fifth source of elements for the returned set
Returns:
a new mutable set which merge the elements of the specified iterables

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                                Iterator<? extends E2> elements)
Constructs a new mutable set containing the elements traversed by the specified iterator.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the iterator from which elements are to be placed into the returned set
Returns:
a new mutable set containing the elements traversed by the specified iterator

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                                Consumer<Consumer<E2>> elementsSupplier)
Constructs a new mutable set of elements consumed by the callback within the given closure.

Example: TODO

Type Parameters:
E2 - the element type of the returned set
Parameters:
elementsSupplier - the function which supply mappings for the returned set via the callback passed in
Returns:
a new mutable set of elements consumed by the callback within the given closure

newMutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSet(@Nonnull
                                                E2[] elements)
Constructs a new mutable set of elements from the given array.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the array whose elements are to be placed into the returned set
Returns:
a new mutable set of elements from the given array

newMutableSetOf

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSetOf(E2 e1)
Constructs a new mutable singleton set of the given element.

Type Parameters:
E2 - the element type of the returned set
Parameters:
e1 - the sole element
Returns:
a new mutable singleton set of the given element

newMutableSetOf

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSetOf(E2 e1,
                                                  E2 e2)
Constructs a new mutable set of the two specified elements.

Type Parameters:
E2 - the element type of the returned set
Parameters:
e1 - the first element
e2 - the second element
Returns:
a new mutable set of the two specified elements

newMutableSetOf

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSetOf(E2 e1,
                                                  E2 e2,
                                                  E2 e3)
Constructs a new mutable set of the three specified elements.

Type Parameters:
E2 - the element type of the returned set
Parameters:
e1 - the first element
e2 - the second element
e3 - the third element
Returns:
a new mutable set of the three specified elements

newMutableSetOf

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSetOf(E2 e1,
                                                  E2 e2,
                                                  E2 e3,
                                                  E2 e4)
Constructs a new mutable set of the four specified elements.

Type Parameters:
E2 - the element type of the returned set
Parameters:
e1 - the first element
e2 - the second element
e3 - the third element
e4 - the fourth element
Returns:
a new mutable set of the four specified elements

newMutableSetOf

@Nonnull
<E2 extends E> ObjSet<E2> newMutableSetOf(E2 e1,
                                                  E2 e2,
                                                  E2 e3,
                                                  E2 e4,
                                                  E2 e5,
                                                  E2... restElements)
Constructs a new mutable set of the specified elements.

Type Parameters:
E2 - the element type of the returned set
Parameters:
e1 - the first element
e2 - the second element
e3 - the third element
e4 - the fourth element
e5 - the fifth element
restElements - the rest elements to be placed into the set
Returns:
a new mutable set of the specified elements

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet()
Constructs a new empty updatable set of the default expected size.

Type Parameters:
E2 - the element type of the returned set
Returns:
a new empty updatable set

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet(int expectedSize)
Constructs a new empty updatable set of the given expected size.

Type Parameters:
E2 - the element type of the returned set
Parameters:
expectedSize - the expected size of the returned set
Returns:
a new empty updatable set of the given expected size

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                                  Iterable<? extends E2> elements,
                                                  int expectedSize)
Constructs a new updatable set containing the elements in the specified iterable.

If the specified iterable is an instance of ObjSet and has the same equivalence with this factory (and thus the constructed set), the expectedSize argument is ignored.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the iterable whose elements are to be placed into the returned set
expectedSize - the expected size of the returned set
Returns:
a new updatable set of the elements of the specified iterable

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                                  Iterable<? extends E2> elems1,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems2,
                                                  int expectedSize)
Constructs a new updatable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
expectedSize - the expected size of the returned set
Returns:
a new updatable set which merge the elements of the specified iterables

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                                  Iterable<? extends E2> elems1,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems2,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems3,
                                                  int expectedSize)
Constructs a new updatable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
expectedSize - the expected size of the returned set
Returns:
a new updatable set which merge the elements of the specified iterables

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                                  Iterable<? extends E2> elems1,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems2,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems3,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems4,
                                                  int expectedSize)
Constructs a new updatable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
elems4 - the fourth source of elements for the returned set
expectedSize - the expected size of the returned set
Returns:
a new updatable set which merge the elements of the specified iterables

newUpdatableSet

<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                          Iterable<? extends E2> elems1,
                                          @Nonnull
                                          Iterable<? extends E2> elems2,
                                          @Nonnull
                                          Iterable<? extends E2> elems3,
                                          @Nonnull
                                          Iterable<? extends E2> elems4,
                                          @Nonnull
                                          Iterable<? extends E2> elems5,
                                          int expectedSize)
Constructs a new updatable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
elems4 - the fourth source of elements for the returned set
elems5 - the fifth source of elements for the returned set
expectedSize - the expected size of the returned set
Returns:
a new updatable set which merge the elements of the specified iterables

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                                  Iterator<? extends E2> elements,
                                                  int expectedSize)
Constructs a new updatable set containing the elements traversed by the specified iterator.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the iterator from which elements are to be placed into the returned set
expectedSize - the expected size of the returned set
Returns:
a new updatable set containing the elements traversed by the specified iterator

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                                  Consumer<Consumer<E2>> elementsSupplier,
                                                  int expectedSize)
Constructs a new updatable set of elements consumed by the callback within the given closure.

Example: TODO

Type Parameters:
E2 - the element type of the returned set
Parameters:
elementsSupplier - the function which supply mappings for the returned set via the callback passed in
expectedSize - the expected size of the returned set
Returns:
a new updatable set of elements consumed by the callback within the given closure

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                                  E2[] elements,
                                                  int expectedSize)
Constructs a new updatable set of elements from the given array.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the array whose elements are to be placed into the returned set
expectedSize - the expected size of the returned set
Returns:
a new updatable set of elements from the given array

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                                  Iterable<? extends E2> elements)
Constructs a new updatable set containing the elements in the specified iterable.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the iterable whose elements are to be placed into the returned set
Returns:
a new updatable set of the elements of the specified iterable

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                                  Iterable<? extends E2> elems1,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems2)
Constructs a new updatable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
Returns:
a new updatable set which merge the elements of the specified iterables

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                                  Iterable<? extends E2> elems1,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems2,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems3)
Constructs a new updatable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
Returns:
a new updatable set which merge the elements of the specified iterables

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                                  Iterable<? extends E2> elems1,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems2,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems3,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems4)
Constructs a new updatable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
elems4 - the fourth source of elements for the returned set
Returns:
a new updatable set which merge the elements of the specified iterables

newUpdatableSet

<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                          Iterable<? extends E2> elems1,
                                          @Nonnull
                                          Iterable<? extends E2> elems2,
                                          @Nonnull
                                          Iterable<? extends E2> elems3,
                                          @Nonnull
                                          Iterable<? extends E2> elems4,
                                          @Nonnull
                                          Iterable<? extends E2> elems5)
Constructs a new updatable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
elems4 - the fourth source of elements for the returned set
elems5 - the fifth source of elements for the returned set
Returns:
a new updatable set which merge the elements of the specified iterables

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                                  Iterator<? extends E2> elements)
Constructs a new updatable set containing the elements traversed by the specified iterator.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the iterator from which elements are to be placed into the returned set
Returns:
a new updatable set containing the elements traversed by the specified iterator

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                                  Consumer<Consumer<E2>> elementsSupplier)
Constructs a new updatable set of elements consumed by the callback within the given closure.

Example: TODO

Type Parameters:
E2 - the element type of the returned set
Parameters:
elementsSupplier - the function which supply mappings for the returned set via the callback passed in
Returns:
a new updatable set of elements consumed by the callback within the given closure

newUpdatableSet

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSet(@Nonnull
                                                  E2[] elements)
Constructs a new updatable set of elements from the given array.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the array whose elements are to be placed into the returned set
Returns:
a new updatable set of elements from the given array

newUpdatableSetOf

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSetOf(E2 e1)
Constructs a new updatable singleton set of the given element.

Type Parameters:
E2 - the element type of the returned set
Parameters:
e1 - the sole element
Returns:
a new updatable singleton set of the given element

newUpdatableSetOf

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSetOf(E2 e1,
                                                    E2 e2)
Constructs a new updatable set of the two specified elements.

Type Parameters:
E2 - the element type of the returned set
Parameters:
e1 - the first element
e2 - the second element
Returns:
a new updatable set of the two specified elements

newUpdatableSetOf

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSetOf(E2 e1,
                                                    E2 e2,
                                                    E2 e3)
Constructs a new updatable set of the three specified elements.

Type Parameters:
E2 - the element type of the returned set
Parameters:
e1 - the first element
e2 - the second element
e3 - the third element
Returns:
a new updatable set of the three specified elements

newUpdatableSetOf

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSetOf(E2 e1,
                                                    E2 e2,
                                                    E2 e3,
                                                    E2 e4)
Constructs a new updatable set of the four specified elements.

Type Parameters:
E2 - the element type of the returned set
Parameters:
e1 - the first element
e2 - the second element
e3 - the third element
e4 - the fourth element
Returns:
a new updatable set of the four specified elements

newUpdatableSetOf

@Nonnull
<E2 extends E> ObjSet<E2> newUpdatableSetOf(E2 e1,
                                                    E2 e2,
                                                    E2 e3,
                                                    E2 e4,
                                                    E2 e5,
                                                    E2... restElements)
Constructs a new updatable set of the specified elements.

Type Parameters:
E2 - the element type of the returned set
Parameters:
e1 - the first element
e2 - the second element
e3 - the third element
e4 - the fourth element
e5 - the fifth element
restElements - the rest elements to be placed into the set
Returns:
a new updatable set of the specified elements

newImmutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                                  Iterable<? extends E2> elements,
                                                  int expectedSize)
Constructs a new immutable set containing the elements in the specified iterable.

If the specified iterable is an instance of ObjSet and has the same equivalence with this factory (and thus the constructed set), the expectedSize argument is ignored.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the iterable whose elements are to be placed into the returned set
expectedSize - the expected size of the returned set
Returns:
a new immutable set of the elements of the specified iterable

newImmutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                                  Iterable<? extends E2> elems1,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems2,
                                                  int expectedSize)
Constructs a new immutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
expectedSize - the expected size of the returned set
Returns:
a new immutable set which merge the elements of the specified iterables

newImmutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                                  Iterable<? extends E2> elems1,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems2,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems3,
                                                  int expectedSize)
Constructs a new immutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
expectedSize - the expected size of the returned set
Returns:
a new immutable set which merge the elements of the specified iterables

newImmutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                                  Iterable<? extends E2> elems1,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems2,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems3,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems4,
                                                  int expectedSize)
Constructs a new immutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
elems4 - the fourth source of elements for the returned set
expectedSize - the expected size of the returned set
Returns:
a new immutable set which merge the elements of the specified iterables

newImmutableSet

<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                          Iterable<? extends E2> elems1,
                                          @Nonnull
                                          Iterable<? extends E2> elems2,
                                          @Nonnull
                                          Iterable<? extends E2> elems3,
                                          @Nonnull
                                          Iterable<? extends E2> elems4,
                                          @Nonnull
                                          Iterable<? extends E2> elems5,
                                          int expectedSize)
Constructs a new immutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
elems4 - the fourth source of elements for the returned set
elems5 - the fifth source of elements for the returned set
expectedSize - the expected size of the returned set
Returns:
a new immutable set which merge the elements of the specified iterables

newImmutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                                  Iterator<? extends E2> elements,
                                                  int expectedSize)
Constructs a new immutable set containing the elements traversed by the specified iterator.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the iterator from which elements are to be placed into the returned set
expectedSize - the expected size of the returned set
Returns:
a new immutable set containing the elements traversed by the specified iterator

newImmutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                                  Consumer<Consumer<E2>> elementsSupplier,
                                                  int expectedSize)
Constructs a new immutable set of elements consumed by the callback within the given closure.

Example: TODO

Type Parameters:
E2 - the element type of the returned set
Parameters:
elementsSupplier - the function which supply mappings for the returned set via the callback passed in
expectedSize - the expected size of the returned set
Returns:
a new immutable set of elements consumed by the callback within the given closure

newImmutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                                  E2[] elements,
                                                  int expectedSize)
Constructs a new immutable set of elements from the given array.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the array whose elements are to be placed into the returned set
expectedSize - the expected size of the returned set
Returns:
a new immutable set of elements from the given array

newImmutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                                  Iterable<? extends E2> elements)
Constructs a new immutable set containing the elements in the specified iterable.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the iterable whose elements are to be placed into the returned set
Returns:
a new immutable set of the elements of the specified iterable

newImmutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                                  Iterable<? extends E2> elems1,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems2)
Constructs a new immutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
Returns:
a new immutable set which merge the elements of the specified iterables

newImmutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                                  Iterable<? extends E2> elems1,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems2,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems3)
Constructs a new immutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
Returns:
a new immutable set which merge the elements of the specified iterables

newImmutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                                  Iterable<? extends E2> elems1,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems2,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems3,
                                                  @Nonnull
                                                  Iterable<? extends E2> elems4)
Constructs a new immutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
elems4 - the fourth source of elements for the returned set
Returns:
a new immutable set which merge the elements of the specified iterables

newImmutableSet

<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                          Iterable<? extends E2> elems1,
                                          @Nonnull
                                          Iterable<? extends E2> elems2,
                                          @Nonnull
                                          Iterable<? extends E2> elems3,
                                          @Nonnull
                                          Iterable<? extends E2> elems4,
                                          @Nonnull
                                          Iterable<? extends E2> elems5)
Constructs a new immutable set which merge the elements of the specified iterables.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elems1 - the first source of elements for the returned set
elems2 - the second source of elements for the returned set
elems3 - the third source of elements for the returned set
elems4 - the fourth source of elements for the returned set
elems5 - the fifth source of elements for the returned set
Returns:
a new immutable set which merge the elements of the specified iterables

newImmutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                                  Iterator<? extends E2> elements)
Constructs a new immutable set containing the elements traversed by the specified iterator.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the iterator from which elements are to be placed into the returned set
Returns:
a new immutable set containing the elements traversed by the specified iterator

newImmutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                                  Consumer<Consumer<E2>> elementsSupplier)
Constructs a new immutable set of elements consumed by the callback within the given closure.

Example: TODO

Type Parameters:
E2 - the element type of the returned set
Parameters:
elementsSupplier - the function which supply mappings for the returned set via the callback passed in
Returns:
a new immutable set of elements consumed by the callback within the given closure

newImmutableSet

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSet(@Nonnull
                                                  E2[] elements)
Constructs a new immutable set of elements from the given array.

Type Parameters:
E2 - the element type of the returned set
Parameters:
elements - the array whose elements are to be placed into the returned set
Returns:
a new immutable set of elements from the given array

newImmutableSetOf

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSetOf(E2 e1)
Constructs a new immutable singleton set of the given element.

Type Parameters:
E2 - the element type of the returned set
Parameters:
e1 - the sole element
Returns:
a new immutable singleton set of the given element

newImmutableSetOf

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSetOf(E2 e1,
                                                    E2 e2)
Constructs a new immutable set of the two specified elements.

Type Parameters:
E2 - the element type of the returned set
Parameters:
e1 - the first element
e2 - the second element
Returns:
a new immutable set of the two specified elements

newImmutableSetOf

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSetOf(E2 e1,
                                                    E2 e2,
                                                    E2 e3)
Constructs a new immutable set of the three specified elements.

Type Parameters:
E2 - the element type of the returned set
Parameters:
e1 - the first element
e2 - the second element
e3 - the third element
Returns:
a new immutable set of the three specified elements

newImmutableSetOf

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSetOf(E2 e1,
                                                    E2 e2,
                                                    E2 e3,
                                                    E2 e4)
Constructs a new immutable set of the four specified elements.

Type Parameters:
E2 - the element type of the returned set
Parameters:
e1 - the first element
e2 - the second element
e3 - the third element
e4 - the fourth element
Returns:
a new immutable set of the four specified elements

newImmutableSetOf

@Nonnull
<E2 extends E> ObjSet<E2> newImmutableSetOf(E2 e1,
                                                    E2 e2,
                                                    E2 e3,
                                                    E2 e4,
                                                    E2 e5,
                                                    E2... restElements)
Constructs a new immutable set of the specified elements.

Type Parameters:
E2 - the element type of the returned set
Parameters:
e1 - the first element
e2 - the second element
e3 - the third element
e4 - the fourth element
e5 - the fifth element
restElements - the rest elements to be placed into the set
Returns:
a new immutable set of the specified elements