Class ArrayUnenforcedSet<E>

Type Parameters:
E - the element type
All Implemented Interfaces:
Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess, Set<E>

public class ArrayUnenforcedSet<E> extends ArrayList<E> implements Set<E>
Helper for efficiently representing small sets whose elements are known to be unique by construction, implying we don't need to enforce the uniqueness property in the data structure itself. Use with caution.

Note that for equals/hashCode, the class implements the Set behavior (unordered), not the list behavior (ordered); the fact that it subclasses ArrayList should be considered an implementation detail.

Author:
John V. Sichi
See Also:
  • Constructor Details

    • ArrayUnenforcedSet

      public ArrayUnenforcedSet()
      Constructs a new empty set
    • ArrayUnenforcedSet

      public ArrayUnenforcedSet(Collection<? extends E> c)
      Constructs a set containing the elements of the specified collection.
      Parameters:
      c - the collection whose elements are to be placed into this set
      Throws:
      NullPointerException - if the specified collection is null
    • ArrayUnenforcedSet

      public ArrayUnenforcedSet(int n)
      Constructs an empty set with the specified initial capacity.
      Parameters:
      n - the initial capacity of the set
      Throws:
      IllegalArgumentException - if the specified initial capacity is negative
  • Method Details