Class ObjectStack<KType>

    • Constructor Detail

      • ObjectStack

        public ObjectStack()
        New instance with sane defaults.
      • ObjectStack

        public ObjectStack​(int expectedElements)
        New instance with sane defaults.
        Parameters:
        expectedElements - The expected number of elements guaranteed not to cause buffer expansion (inclusive).
      • ObjectStack

        public ObjectStack​(int expectedElements,
                           ArraySizingStrategy resizer)
        New instance with sane defaults.
        Parameters:
        expectedElements - The expected number of elements guaranteed not to cause buffer expansion (inclusive).
        resizer - Underlying buffer sizing strategy.
      • ObjectStack

        public ObjectStack​(ObjectContainer<KType> container)
        Create a stack by pushing all elements of another container to it.
    • Method Detail

      • push

        public void push​(KType e1)
        Adds one Object to the stack.
      • push

        public void push​(KType e1,
                         KType e2)
        Adds two Objects to the stack.
      • push

        public void push​(KType e1,
                         KType e2,
                         KType e3)
        Adds three Objects to the stack.
      • push

        public void push​(KType e1,
                         KType e2,
                         KType e3,
                         KType e4)
        Adds four Objects to the stack.
      • push

        public void push​(KType[] elements,
                         int start,
                         int len)
        Add a range of array elements to the stack.
      • push

        @SafeVarargs
        public final void push​(KType... elements)
        Vararg-signature method for pushing elements at the top of the stack.

        This method is handy, but costly if used in tight loops (anonymous array passing)

      • pushAll

        public int pushAll​(ObjectContainer<? extends KType> container)
        Pushes all elements from another container to the top of the stack.
      • pushAll

        public int pushAll​(java.lang.Iterable<? extends ObjectCursor<? extends KType>> iterable)
        Pushes all elements from another iterable to the top of the stack.
      • discard

        public void discard​(int count)
        Discard an arbitrary number of elements from the top of the stack.
      • discard

        public void discard()
        Discard the top element from the stack.
      • pop

        public KType pop()
        Remove the top element from the stack and return it.
      • peek

        public KType peek()
        Peek at the top element on the stack.
      • from

        @SafeVarargs
        public static <KType> ObjectStack<KType> from​(KType... elements)
        Create a stack by pushing a variable number of arguments to it.