Package org.apache.tools.ant.util

# Class IdentityStack<E>

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

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

public class IdentityStack<E> extends Stack<E>
Identity Stack.

Since:
  Ant 1.7
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
`IdentityStack()`
Default constructor.
`IdentityStack(E o)`
Construct a new IdentityStack with the specified Object as the bottom element.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`contains(Object o)`
Override methods that use `.equals()` comparisons on elements.
`boolean`
`containsAll(Collection<?> c)`
`static <E> IdentityStack<E>`
`getInstance(Stack<E> s)`
Get an IdentityStack containing the contents of the specified Stack.
`int`
`indexOf(Object o, int pos)`
Override methods that use `.equals()` comparisons on elements.
`int`
`lastIndexOf(Object o, int pos)`
Override methods that use `.equals()` comparisons on elements.
`boolean`
`removeAll(Collection<?> c)`
`boolean`
`retainAll(Collection<?> c)`

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

`empty, peek, pop, push, search`

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

`add, add, addAll, addAll, addElement, capacity, clear, clone, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, forEach, get, hashCode, indexOf, insertElementAt, isEmpty, iterator, lastElement, lastIndexOf, listIterator, listIterator, remove, remove, removeAllElements, removeElement, removeElementAt, removeIf, removeRange, replaceAll, set, setElementAt, 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

### IdentityStack

public IdentityStack()
Default constructor.

### IdentityStack

public IdentityStack(E o)
Construct a new IdentityStack with the specified Object as the bottom element.

Parameters:
  `o` - the bottom element.

## Method Details

### getInstance

public static <E> IdentityStack<E> getInstance(Stack<E> s)
Get an IdentityStack containing the contents of the specified Stack.

Type Parameters:
  `E` - desired type
Parameters:
  `s` - the Stack to copy; ignored if null.
Returns:
  an IdentityStack instance.

### contains

public boolean contains(Object o)
Override methods that use `.equals()` comparisons on elements.

Specified by:
  `contains` in interface `Collection<E>`
Specified by:
  `contains` in interface `List<E>`
Overrides:
  `contains` in class `Vector<E>`
Parameters:
  `o` - the Object to search for.
Returns:
  true if the stack contains the object.
See Also:
  - `Vector.contains(Object)`

### indexOf

public int indexOf(Object o, int pos)
Override methods that use `.equals()` comparisons on elements.

Overrides:
  `indexOf` in class `Vector<E>`
Parameters:
  `o` - the Object to search for.
  `pos` - the position from which to search.
Returns:
  the position of the object, -1 if not found.
See Also:
  - `Vector.indexOf(Object, int)`

### lastIndexOf

public int lastIndexOf(Object o, int pos)
Override methods that use `.equals()` comparisons on elements.

Overrides:
  `lastIndexOf` in class `Vector<E>`
Parameters:
  `o` - the Object to search for.
  `pos` - the position from which to search (backward).
Returns:
  the position of the object, -1 if not found.
See Also:
  - `Vector.indexOf(Object, int)`

### 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>`

### 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>`

### 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>`