Witam, poszukuje klasy buffer/stos czy nie wiem jak to nazwać(i pewnie w tym problem), która będzie potrafiła takie coś:
a.add("1")
a.add("2")
a.add("3")
print a.pop()//"1"
print a.pop()//"2"
print a.pop()//"3"
JAVA ME(MicroEdition)
Witam, poszukuje klasy buffer/stos czy nie wiem jak to nazwać(i pewnie w tym problem), która będzie potrafiła takie coś:
a.add("1")
a.add("2")
a.add("3")
print a.pop()//"1"
print a.pop()//"2"
print a.pop()//"3"
JAVA ME(MicroEdition)
package temp.kolejka;
import java.util.ArrayList;
public class Queue<T> {
private ArrayList<T> array = new ArrayList<T>();
public static void main(String[] args) {
Queue<Integer> q = new Queue<Integer>();
q.add(3);
q.add(2);
q.add(1);
System.out.println(q.pop());
System.out.println(q.pop());
System.out.println(q.pop());
}
private void add(T elem) {
array.add(elem);
}
private T pop() {
if (array.size() == 0) return null; // albo exception - chyba, że chcesz zawieszanie wątku ?
T elem = array.get(0);
array.remove(0);
return elem;
}
}
@up do kolejki to się bardziej nadaje linkedlist niż arraylist
loczek napisał(a)
a.add("1")
a.add("2")
a.add("3")
print a.pop()//"1"
print a.pop()//"2"
print a.pop()//"3"
Stos działa na odwrót.. :F
ten kod wyżej da się za to zmienić na stos w prosty sposób:
return list.remove(list.size()-1);
edit: Tak poza tym w microedition nie ma generyków, więc możesz to <T> wywalić