Class FloatArraySet

  • All Implemented Interfaces:
    FloatCollection, FloatIterable, FloatSet, java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<java.lang.Float>, java.util.Collection<java.lang.Float>, java.util.Set<java.lang.Float>

    public class FloatArraySet
    extends AbstractFloatSet
    implements java.io.Serializable, java.lang.Cloneable
    A simple, brute-force implementation of a set based on a backing array.

    The main purpose of this implementation is that of wrapping cleanly the brute-force approach to the storage of a very small number of items: just put them into an array and scan linearly to find an item.

    See Also:
    Serialized Form
    • Constructor Detail

      • FloatArraySet

        public FloatArraySet​(float[] a)
        Creates a new array set using the given backing array. The resulting set will have as many elements as the array.

        It is responsibility of the caller that the elements of a are distinct.

        Parameters:
        a - the backing array.
      • FloatArraySet

        public FloatArraySet()
        Creates a new empty array set.
      • FloatArraySet

        public FloatArraySet​(int capacity)
        Creates a new empty array set of given initial capacity.
        Parameters:
        capacity - the initial capacity.
      • FloatArraySet

        public FloatArraySet​(FloatCollection c)
        Creates a new array set copying the contents of a given collection.
        Parameters:
        c - a collection.
      • FloatArraySet

        public FloatArraySet​(java.util.Collection<? extends java.lang.Float> c)
        Creates a new array set copying the contents of a given set.
        Parameters:
        c - a collection.
      • FloatArraySet

        public FloatArraySet​(FloatSet c)
        Creates a new array set copying the contents of a given collection.
        Parameters:
        c - a collection.
      • FloatArraySet

        public FloatArraySet​(java.util.Set<? extends java.lang.Float> c)
        Creates a new array set copying the contents of a given set.
        Parameters:
        c - a collection.
      • FloatArraySet

        public FloatArraySet​(float[] a,
                             int size)
        Creates a new array set using the given backing array and the given number of elements of the array.

        It is responsibility of the caller that the first size elements of a are distinct.

        Parameters:
        a - the backing array.
        size - the number of valid elements in a.
    • Method Detail

      • iterator

        public FloatIterator iterator()
        Description copied from interface: FloatCollection
        Returns a type-specific iterator on the elements of this collection.

        Note that this specification strengthens the one given in Iterable.iterator(), which was already strengthened in the corresponding type-specific class, but was weakened by the fact that this interface extends Collection.

        Specified by:
        iterator in interface java.util.Collection<java.lang.Float>
        Specified by:
        iterator in interface FloatCollection
        Specified by:
        iterator in interface FloatIterable
        Specified by:
        iterator in interface FloatSet
        Specified by:
        iterator in interface java.lang.Iterable<java.lang.Float>
        Specified by:
        iterator in interface java.util.Set<java.lang.Float>
        Specified by:
        iterator in class AbstractFloatSet
        Returns:
        a type-specific iterator on the elements of this collection.
        See Also:
        Iterable.iterator()
      • contains

        public boolean contains​(float k)
        Description copied from class: AbstractFloatCollection
        Returns true if this collection contains the specified element.

        This implementation iterates over the elements in the collection, looking for the specified element.

        Specified by:
        contains in interface FloatCollection
        Overrides:
        contains in class AbstractFloatCollection
        See Also:
        Collection.contains(Object)
      • size

        public int size()
        Specified by:
        size in interface java.util.Collection<java.lang.Float>
        Specified by:
        size in interface java.util.Set<java.lang.Float>
        Specified by:
        size in class java.util.AbstractCollection<java.lang.Float>
      • remove

        public boolean remove​(float k)
        Description copied from class: AbstractFloatSet
        Removes an element from this set.

        Note that the corresponding method of a type-specific collection is rem(). This unfortunate situation is caused by the clash with the similarly named index-based method in the List interface. Delegates to the type-specific rem() method implemented by type-specific abstract Collection superclass.

        Specified by:
        remove in interface FloatSet
        Overrides:
        remove in class AbstractFloatSet
        See Also:
        Collection.remove(Object)
      • add

        public boolean add​(float k)
        Description copied from class: AbstractFloatCollection
        Ensures that this collection contains the specified element (optional operation).

        This implementation always throws an UnsupportedOperationException.

        Specified by:
        add in interface FloatCollection
        Overrides:
        add in class AbstractFloatCollection
        See Also:
        Collection.add(Object)
      • clear

        public void clear()
        Specified by:
        clear in interface java.util.Collection<java.lang.Float>
        Specified by:
        clear in interface java.util.Set<java.lang.Float>
        Overrides:
        clear in class java.util.AbstractCollection<java.lang.Float>
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface java.util.Collection<java.lang.Float>
        Specified by:
        isEmpty in interface java.util.Set<java.lang.Float>
        Overrides:
        isEmpty in class java.util.AbstractCollection<java.lang.Float>
      • clone

        public FloatArraySet clone()
        Returns a deep copy of this set.

        This method performs a deep copy of this array set; the data stored in the set, however, is not cloned. Note that this makes a difference only for object keys.

        Returns:
        a deep copy of this set.