40 lines
1.1 KiB
Java
40 lines
1.1 KiB
Java
|
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;
|
||
|
}
|
||
|
}
|