org.apache.tools.ant.util
Class VectorSet<E>

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.Vector<E>
              extended by org.apache.tools.ant.util.VectorSet<E>
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.List<E>, java.util.RandomAccess

public final class VectorSet<E>
extends java.util.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
VectorSet()
           
VectorSet(java.util.Collection<? extends E> c)
           
VectorSet(int initialCapacity)
           
VectorSet(int initialCapacity, int capacityIncrement)
           
 
Method Summary
 boolean add(E o)
           
 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 addAll(java.util.Collection<? extends E> c)
           
 boolean addAll(int index, java.util.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.
 void addElement(E o)
           
 void clear()
           
 java.lang.Object clone()
           
 boolean contains(java.lang.Object o)
           
 boolean containsAll(java.util.Collection<?> c)
           
 void insertElementAt(E o, int index)
           
 E remove(int index)
           
 boolean remove(java.lang.Object o)
           
 boolean removeAll(java.util.Collection<?> c)
           
 void removeAllElements()
           
 boolean removeElement(java.lang.Object o)
           
 void removeElementAt(int index)
           
 void removeRange(int fromIndex, int toIndex)
           
 boolean retainAll(java.util.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, get, hashCode, indexOf, indexOf, isEmpty, lastElement, lastIndexOf, lastIndexOf, setSize, size, subList, toArray, toArray, toString, trimToSize
 
Methods inherited from class java.util.AbstractList
iterator, listIterator, listIterator
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
iterator, listIterator, listIterator
 

Constructor Detail

VectorSet

public VectorSet()

VectorSet

public VectorSet(int initialCapacity)

VectorSet

public VectorSet(int initialCapacity,
                 int capacityIncrement)

VectorSet

public VectorSet(java.util.Collection<? extends E> c)
Method Detail

add

public boolean add(E o)
Specified by:
add in interface java.util.Collection<E>
Specified by:
add in interface java.util.List<E>
Overrides:
add in class java.util.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 java.util.List<E>
Overrides:
add in class java.util.Vector<E>

addElement

public void addElement(E o)
Overrides:
addElement in class java.util.Vector<E>

addAll

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

addAll

public boolean addAll(int index,
                      java.util.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 java.util.List<E>
Overrides:
addAll in class java.util.Vector<E>

clear

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

clone

public java.lang.Object clone()
Overrides:
clone in class java.util.Vector<E>

contains

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

containsAll

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

insertElementAt

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

remove

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

remove

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

removeAll

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

removeAllElements

public void removeAllElements()
Overrides:
removeAllElements in class java.util.Vector<E>

removeElement

public boolean removeElement(java.lang.Object o)
Overrides:
removeElement in class java.util.Vector<E>

removeElementAt

public void removeElementAt(int index)
Overrides:
removeElementAt in class java.util.Vector<E>

removeRange

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

retainAll

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

set

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

setElementAt

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