org.apache.commons.collections4

## Class ArrayStack<E>

- java.lang.Object
- - java.util.AbstractCollection<E>
  - - java.util.AbstractList<E>
    - - java.util.ArrayList<E>
      - - org.apache.commons.collections4.ArrayStack<E>

- Type Parameters:
    `E` - the type of elements in this list
  All Implemented Interfaces:
    Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess

  Deprecated.
  use `ArrayDeque` instead (available from Java 1.6)

      @Deprecated
      public class ArrayStack<E>
      extends ArrayList<E>

  An implementation of the `Stack` API that is based on an `ArrayList` instead of a `Vector`, so it is not synchronized to protect against multi-threaded access. The implementation is therefore operates faster in environments where you do not need to worry about multiple thread contention.

  The removal order of an `ArrayStack` is based on insertion order: The most recently added element is removed first. The iteration order is not the same as the removal order. The iterator returns elements from the bottom up.

  Unlike `Stack`, `ArrayStack` accepts null entries.

  Note: From version 4.0 onwards, this class does not implement the removed `Buffer` interface anymore.

  Since:
    1.0
  See Also:
    `Stack`, Serialized Form

- - ### Field Summary

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

      `modCount`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ArrayStack()` Deprecated. Constructs a new empty `ArrayStack`.
    `ArrayStack(int initialSize)` Deprecated. Constructs a new empty `ArrayStack` with an initial size.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `empty()` Deprecated. Return `true` if this stack is currently empty.
    `E` | `peek()` Deprecated. Returns the top item off of this stack without removing it.
    `E` | `peek(int n)` Deprecated. Returns the n'th item down (zero-relative) from the top of this stack without removing it.
    `E` | `pop()` Deprecated. Pops the top item off of this stack and return it.
    `E` | `push(E item)` Deprecated. Pushes a new item onto the top of this stack.
    `int` | `search(Object object)` Deprecated. Returns the one-based position of the distance from the top that the specified object exists on this stack, where the top-most element is considered to be at distance `1`.

    - ### Methods inherited from class java.util.ArrayList

      `add, add, addAll, addAll, clear, clone, contains, ensureCapacity, forEach, get, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize`

    - ### Methods inherited from class java.util.AbstractList

      `equals, hashCode`

    - ### Methods inherited from class java.util.AbstractCollection

      `containsAll, toString`

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

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

    - ### Methods inherited from interface java.util.List

      `containsAll, equals, hashCode`

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

      `parallelStream, stream`

- - ### Constructor Detail

    - #### ArrayStack

          public ArrayStack()

      Deprecated.
      Constructs a new empty `ArrayStack`. The initial size is controlled by `ArrayList` and is currently 10.

    - #### ArrayStack

          public ArrayStack(int initialSize)

      Deprecated.
      Constructs a new empty `ArrayStack` with an initial size.
      Parameters:
        `initialSize` - the initial size to use
      Throws:
        `IllegalArgumentException` - if the specified initial size is negative

  - ### Method Detail

    - #### empty

          public boolean empty()

      Deprecated.
      Return `true` if this stack is currently empty.

      This method exists for compatibility with `java.util.Stack`. New users of this class should use `isEmpty` instead.

      Returns:
        true if the stack is currently empty

    - #### peek

          public E peek()
                 throws EmptyStackException

      Deprecated.
      Returns the top item off of this stack without removing it.
      Returns:
        the top item on the stack
      Throws:
        `EmptyStackException` - if the stack is empty

    - #### peek

          public E peek(int n)
                 throws EmptyStackException

      Deprecated.
      Returns the n'th item down (zero-relative) from the top of this stack without removing it.
      Parameters:
        `n` - the number of items down to go
      Returns:
        the n'th item on the stack, zero relative
      Throws:
        `EmptyStackException` - if there are not enough items on the stack to satisfy this request

    - #### pop

          public E pop()
                throws EmptyStackException

      Deprecated.
      Pops the top item off of this stack and return it.
      Returns:
        the top item on the stack
      Throws:
        `EmptyStackException` - if the stack is empty

    - #### push

          public E push(E item)

      Deprecated.
      Pushes a new item onto the top of this stack. The pushed item is also returned. This is equivalent to calling `add`.
      Parameters:
        `item` - the item to be added
      Returns:
        the item just pushed

    - #### search

          public int search(Object object)

      Deprecated.
      Returns the one-based position of the distance from the top that the specified object exists on this stack, where the top-most element is considered to be at distance `1`. If the object is not present on the stack, return `-1` instead. The `equals()` method is used to compare to the items in this stack.
      Parameters:
        `object` - the object to be searched for
      Returns:
        the 1-based depth into the stack of the object, or -1 if not found

Copyright © 2001–2018 The Apache Software Foundation. All rights reserved.