Class ArrayListStack<T>

java.lang.Object
com.adobe.internal.util.ArrayListStack<T>
All Implemented Interfaces:
Stack<T>, Serializable, Iterable<T>, Collection<T>, List<T>, SequencedCollection<T>

public class ArrayListStack<T> extends Object implements Stack<T>, List<T>, Serializable
See Also:
  • Constructor Details

    • ArrayListStack

      public ArrayListStack()
      Constructs an empty stack.
    • ArrayListStack

      public ArrayListStack(int size)
      Constructs an empty stack of the size given.
    • ArrayListStack

      public ArrayListStack(ArrayList<T> list)
      Constructs the stack from the ArrayList provided.
  • Method Details

    • getArrayList

      public ArrayList<T> getArrayList()
      returns the underlying ArrayList
    • push

      public T push(T elem)
      Adds an item to the top of the stack.
      Specified by:
      push in interface Stack<T>
      Parameters:
      elem - the item to add.
      Returns:
      the item added.
    • pop

      public T pop() throws EmptyStackException
      Removes and returns item from the top of the stack.
      Specified by:
      pop in interface Stack<T>
      Returns:
      the former top item.
      Throws:
      EmptyStackException - if stack is empty.
    • peek

      public T peek() throws EmptyStackException
      Returns item from the top of the stack.
      Specified by:
      peek in interface Stack<T>
      Returns:
      the top item.
      Throws:
      EmptyStackException - if stack is empty.
    • empty

      public boolean empty()
      Tests if stack is empty.
      Specified by:
      empty in interface Stack<T>
      Returns:
      true if the stack is empty; false otherwise.
    • size

      public int size()
      Returns the size of the stack.
      Specified by:
      size in interface Collection<T>
      Specified by:
      size in interface List<T>
      Specified by:
      size in interface Stack<T>
      Returns:
      the size of the stack.
    • clear

      public void clear()
      Specified by:
      clear in interface Collection<T>
      Specified by:
      clear in interface List<T>
      Specified by:
      clear in interface Stack<T>
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object obj)
      Compares the specified object with this list for equality. Returns true if and only if the specified object is also a list, both lists have the same size, and all corresponding pairs of elements in the two lists are equal. (Two elements e1 and e2 are equal if (e1==null ? e2==null : e1.equals(e2)).) In other words, two lists are defined to be equal if they contain the same elements in the same order.

      This implementation first checks if the specified object is this list. If so, it returns true; if not, it checks if the specified object is a list. If not, it returns false; if so, it iterates over both lists, comparing corresponding pairs of elements. If any comparison returns false, this method returns false. If either iterator runs out of elements before the other it returns false (as the lists are of unequal length); otherwise it returns true when the iterations complete.

      Specified by:
      equals in interface Collection<T>
      Specified by:
      equals in interface List<T>
      Overrides:
      equals in class Object
      Parameters:
      obj - the object to be compared for equality with this list.
      Returns:
      true if the specified object is equal to this list.
    • hashCode

      public int hashCode()
      Returns the hash code value for this list.

      This implementation uses exactly the code that is used to define the list hash function in the documentation for the List.hashCode method.

      Specified by:
      hashCode in interface Collection<T>
      Specified by:
      hashCode in interface List<T>
      Overrides:
      hashCode in class Object
      Returns:
      the hash code value for this list.
    • search

      public int search(T o)
      Returns the 1-based position where an object is on this stack. If the object o occurs as an item in this stack, this method returns the distance from the top of the stack of the occurrence nearest the top of the stack; the topmost item on the stack is considered to be at distance 1. The equals method is used to compare o to the items in this stack.
      Parameters:
      o - the desired object.
      Returns:
      the 1-based position from the top of the stack where the object is located; the return value -1 indicates that the object is not on the stack.
    • add

      public void add(int index, T element)
      Specified by:
      add in interface List<T>
    • add

      public boolean add(T element)
      Specified by:
      add in interface Collection<T>
      Specified by:
      add in interface List<T>
    • addAll

      public boolean addAll(Collection<? extends T> collection)
      Specified by:
      addAll in interface Collection<T>
      Specified by:
      addAll in interface List<T>
    • addAll

      public boolean addAll(int index, Collection<? extends T> collection)
      Specified by:
      addAll in interface List<T>
    • contains

      public boolean contains(Object o)
      Specified by:
      contains in interface Collection<T>
      Specified by:
      contains in interface List<T>
    • containsAll

      public boolean containsAll(Collection<?> collection)
      Specified by:
      containsAll in interface Collection<T>
      Specified by:
      containsAll in interface List<T>
    • get

      public T get(int index)
      Specified by:
      get in interface List<T>
    • indexOf

      public int indexOf(Object o)
      Specified by:
      indexOf in interface List<T>
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface Collection<T>
      Specified by:
      isEmpty in interface List<T>
    • iterator

      public Iterator<T> iterator()
      Specified by:
      iterator in interface Collection<T>
      Specified by:
      iterator in interface Iterable<T>
      Specified by:
      iterator in interface List<T>
    • lastIndexOf

      public int lastIndexOf(Object o)
      Specified by:
      lastIndexOf in interface List<T>
    • listIterator

      public ListIterator<T> listIterator()
      Specified by:
      listIterator in interface List<T>
    • listIterator

      public ListIterator<T> listIterator(int index)
      Specified by:
      listIterator in interface List<T>
    • remove

      public T remove(int index)
      Specified by:
      remove in interface List<T>
    • remove

      public boolean remove(Object o)
      Specified by:
      remove in interface Collection<T>
      Specified by:
      remove in interface List<T>
    • removeAll

      public boolean removeAll(Collection<?> collection)
      Specified by:
      removeAll in interface Collection<T>
      Specified by:
      removeAll in interface List<T>
    • retainAll

      public boolean retainAll(Collection<?> collection)
      Specified by:
      retainAll in interface Collection<T>
      Specified by:
      retainAll in interface List<T>
    • set

      public T set(int index, T element)
      Specified by:
      set in interface List<T>
    • subList

      public List<T> subList(int fromIndex, int toIndex)
      Specified by:
      subList in interface List<T>
    • toArray

      public Object[] toArray()
      Specified by:
      toArray in interface Collection<T>
      Specified by:
      toArray in interface List<T>
    • toArray

      public Object[] toArray(Object[] a)
      Specified by:
      toArray in interface Collection<T>
      Specified by:
      toArray in interface List<T>