uebungen/sources/beispieleVL/generics/SimpleStack.java

40 lines
1.1 KiB
Java
Raw Permalink Normal View History

package generics;
public class SimpleStack<T> {
/*
* Der Einsatz eines Typ-Parameters hält diese Klasse generisch und
* ermöglicht es, dass erst in der Main der Datentyp des Arrays festgelegt
* werden kann. Somit ist die generische Klasse in ihrer Implementierung
* unabhängig von der Main-Klasse.
*/
private T[] stack;
private int pos;
@SuppressWarnings("unchecked")
public SimpleStack(int size) {
stack = (T[]) new Object[size];
pos = 0;
}
public void push(T o) {
stack[pos++] = o;
}
public T pop() {
return stack[--pos];
}
/*
* Dies ist ziemlich schlechter Programmierstiel, da für einen gut
* funktionierenden Stack noch weitere Methoden fehlen.
* Diese sind zum Beispiel swap(), peek() und clear(). So das es möglich
* ist Daten zu Tauschen (swap()), Daten zu löschen (clear()) oder nach
* Daten zu suchen (peek())
*/
public int getSize () {
// TODO Auto-generated method stub
return pos;
}
}