Package org.apache.tools.ant.util

# Class VectorSet<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.Vector<E>
org.apache.tools.ant.util.VectorSet<E>

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Iterable<E>`, `Collection<E>`, `List<E>`, `RandomAccess`

public final class VectorSet<E> extends Vector<E>
Subclass of Vector that won't store duplicate entries and shows HashSet's constant time performance characteristics for the contains method.

This is not a general purpose class but has been written because the protected members of `DirectoryScanner` prohibited later revisions from using a more efficient collection.

Methods are synchronized to keep Vector's contract.

Since:
  Ant 1.8.0
See Also:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class java.util.Vector

  `capacityIncrement, elementCount, elementData`

  ### Fields inherited from class java.util.AbstractList

  `modCount`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `VectorSet()`
  `VectorSet(int initialCapacity)`
  `VectorSet(int initialCapacity, int capacityIncrement)`
  `VectorSet(Collection<? extends E> c)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add(int index, E o)`
  This implementation may not add the element at the given index if it is already contained in the collection.
  `boolean`
  `add(E o)`
  `boolean`
  `addAll(int index, Collection<? extends E> c)`
  This implementation may not add all elements at the given index if any of them are already contained in the collection.
  `boolean`
  `addAll(Collection<? extends E> c)`
  `void`
  `addElement(E o)`
  `void`
  `clear()`
  `Object`
  `clone()`
  `boolean`
  `contains(Object o)`
  `boolean`
  `containsAll(Collection<?> c)`
  `void`
  `insertElementAt(E o, int index)`
  `E`
  `remove(int index)`
  `boolean`
  `remove(Object o)`
  `boolean`
  `removeAll(Collection<?> c)`
  `void`
  `removeAllElements()`
  `boolean`
  `removeElement(Object o)`
  `void`
  `removeElementAt(int index)`
  `void`
  `removeRange(int fromIndex, int toIndex)`
  `boolean`
  `retainAll(Collection<?> c)`
  `E`
  `set(int index, E o)`
  `void`
  `setElementAt(E o, int index)`

  ### Methods inherited from class java.util.Vector

  `capacity, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, forEach, get, hashCode, indexOf, indexOf, isEmpty, iterator, lastElement, lastIndexOf, lastIndexOf, listIterator, listIterator, removeIf, replaceAll, setSize, size, sort, spliterator, subList, toArray, toArray, toString, trimToSize`

  ### Methods inherited from class java.lang.Object

  `finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface java.util.Collection

  `parallelStream, stream, toArray`

- ## Constructor Details

  - ### VectorSet

    public VectorSet()

  - ### VectorSet

    public VectorSet(int initialCapacity)

  - ### VectorSet

    public VectorSet(int initialCapacity, int capacityIncrement)

  - ### VectorSet

    public VectorSet(Collection<? extends E> c)

- ## Method Details

  - ### add

    public boolean add(E o)
    Specified by:
      `add` in interface `Collection<E>`
    Specified by:
      `add` in interface `List<E>`
    Overrides:
      `add` in class `Vector<E>`

  - ### add

    public void add(int index, E o)
    This implementation may not add the element at the given index if it is already contained in the collection.
    Specified by:
      `add` in interface `List<E>`
    Overrides:
      `add` in class `Vector<E>`

  - ### addElement

    public void addElement(E o)
    Overrides:
      `addElement` in class `Vector<E>`

  - ### addAll

    public boolean addAll(Collection<? extends E> c)
    Specified by:
      `addAll` in interface `Collection<E>`
    Specified by:
      `addAll` in interface `List<E>`
    Overrides:
      `addAll` in class `Vector<E>`

  - ### addAll

    public boolean addAll(int index, Collection<? extends E> c)
    This implementation may not add all elements at the given index if any of them are already contained in the collection.
    Specified by:
      `addAll` in interface `List<E>`
    Overrides:
      `addAll` in class `Vector<E>`

  - ### clear

    public void clear()
    Specified by:
      `clear` in interface `Collection<E>`
    Specified by:
      `clear` in interface `List<E>`
    Overrides:
      `clear` in class `Vector<E>`

  - ### clone

    public Object clone()
    Overrides:
      `clone` in class `Vector<E>`

  - ### contains

    public boolean contains(Object o)
    Specified by:
      `contains` in interface `Collection<E>`
    Specified by:
      `contains` in interface `List<E>`
    Overrides:
      `contains` in class `Vector<E>`

  - ### containsAll

    public boolean containsAll(Collection<?> c)
    Specified by:
      `containsAll` in interface `Collection<E>`
    Specified by:
      `containsAll` in interface `List<E>`
    Overrides:
      `containsAll` in class `Vector<E>`

  - ### insertElementAt

    public void insertElementAt(E o, int index)
    Overrides:
      `insertElementAt` in class `Vector<E>`

  - ### remove

    public E remove(int index)
    Specified by:
      `remove` in interface `List<E>`
    Overrides:
      `remove` in class `Vector<E>`

  - ### remove

    public boolean remove(Object o)
    Specified by:
      `remove` in interface `Collection<E>`
    Specified by:
      `remove` in interface `List<E>`
    Overrides:
      `remove` in class `Vector<E>`

  - ### removeAll

    public boolean removeAll(Collection<?> c)
    Specified by:
      `removeAll` in interface `Collection<E>`
    Specified by:
      `removeAll` in interface `List<E>`
    Overrides:
      `removeAll` in class `Vector<E>`

  - ### removeAllElements

    public void removeAllElements()
    Overrides:
      `removeAllElements` in class `Vector<E>`

  - ### removeElement

    public boolean removeElement(Object o)
    Overrides:
      `removeElement` in class `Vector<E>`

  - ### removeElementAt

    public void removeElementAt(int index)
    Overrides:
      `removeElementAt` in class `Vector<E>`

  - ### removeRange

    public void removeRange(int fromIndex, int toIndex)
    Overrides:
      `removeRange` in class `Vector<E>`

  - ### retainAll

    public boolean retainAll(Collection<?> c)
    Specified by:
      `retainAll` in interface `Collection<E>`
    Specified by:
      `retainAll` in interface `List<E>`
    Overrides:
      `retainAll` in class `Vector<E>`

  - ### set

    public E set(int index, E o)
    Specified by:
      `set` in interface `List<E>`
    Overrides:
      `set` in class `Vector<E>`

  - ### setElementAt

    public void setElementAt(E o, int index)
    Overrides:
      `setElementAt` in class `Vector<E>`