net.ranides.assira.collection
Class Stack<T>

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<T>
          extended by net.ranides.assira.collection.Stack<T>
Type Parameters:
T -
All Implemented Interfaces:
Iterable<T>, Collection<T>, List<T>, RandomAccess

public class Stack<T>
extends AbstractList<T>
implements RandomAccess

Niesynchronizowana implementacja stosu wydajniejsza (jako stos) od standardowych kolekcji. Poniżej szybkie podsumowanie, dlaczego rezygnujemy ze standardowych możliwości:

Vector - można optymalnie zarządzać rozmiarem, ale jest synchronizowany.

ArrayList - nie jest synchronizowana, ale nie da się zarządzać rozmiarem. Puchnie jak licho nawet do rozmiaru o 50% większego, dla dużych stosów to horror)

LinkedList - niby wygodne, rozmiarem idealnie zarządza i nie jest synchronizowane, ale totalnie niewydajne pamięciowo: w końcu do podwójnie linkowana lista. 4x większy rozmiar to ma, niż zwykła tablica

Author:
ranides

Constructor Summary
Stack()
          Tworzy stos o rozmiarze 32.
Stack(int capacity)
          Tworzy stos o podanym rozmiarze.
 
Method Summary
 T get(int index)
           
 T peek()
          Zwraca wartość elementu ze szczytu stosu bez zdejmowania.
 T pop()
          Zdejmuje element ze stosu.
 void push(T value)
          Wstawia element na stos.
 int size()
           
 
Methods inherited from class java.util.AbstractList
add, add, addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, set, subList
 
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray
 

Constructor Detail

Stack

public Stack()
Tworzy stos o rozmiarze 32.


Stack

public Stack(int capacity)
Tworzy stos o podanym rozmiarze.

Parameters:
capacity -
Method Detail

get

public final T get(int index)
Specified by:
get in interface List<T>
Specified by:
get in class AbstractList<T>

size

public final int size()
Specified by:
size in interface Collection<T>
Specified by:
size in interface List<T>
Specified by:
size in class AbstractCollection<T>

push

public final void push(T value)
Wstawia element na stos.

Parameters:
value -

pop

public final T pop()
Zdejmuje element ze stosu.

Returns:

peek

public final T peek()
Zwraca wartość elementu ze szczytu stosu bez zdejmowania.

Returns:


Copyright © 2013. All Rights Reserved.