Class ArrayListStack<T>

    • Constructor Detail

      • 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 Detail

      • 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.
      • 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.
      • 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​(int index,
                              Collection<? extends T> collection)
        Specified by:
        addAll in interface List<T>
      • get

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

        public T remove​(int index)
        Specified by:
        remove 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>