BuK/IIm12/Studenten/siclsche/Thema3/MyStack
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language>
Quellcode zu MyStack
<code id="516bcf1da76c6">
public class MyStack <T> implements Iterable<T>{
private ArrayList<T> stack = new ArrayList<T> ();
public MyStack(){
stack = new ArrayList<T> ();
}
public MyStack(ArrayList<T> stack){
this.stack = stack;
}
public void add(T element){
stack.add(element);
}
public void push(T element){
stack.add(0, element);
}
public T pop( ){
if(!stack.isEmpty()){
T element = stack.get(0);
stack.remove(0);
return element;
}
return null;
}
public T getFirstElement(){
return stack.get(0);
}
public int getSize(){
return stack.size();
}
public boolean removeAt(int index) {
if(index < stack.size()){
stack.remove(index);
return true;
}
return false;
}
public void overrideStack(ArrayList<T> element){
stack = new ArrayList<T>();
}
public boolean isEmpty(){
return stack.isEmpty();
}
public T getElementAt(int index){
return stack.get(index);
}
public Iterator<T> iterator() {
return new StackIterator();
}
public String toString(){
String value = "";
for(T stackElement : stack){
value+=stackElement.toString()+";";
}
return value;
}
private class StackIterator implements Iterator<T> {
private int count=0;
public boolean hasNext(){
if(count < stack.size()){
return true;
}
return false;
}
public void remove() {
throw new UnsupportedOperationException();
}
public T next() {
if (!hasNext()) {
throw new NoSuchElementException();
}
T element = stack.get(count);
count++;
return element;
}
}
}</code>