Kolejne z cyklu naiwnych pytań: tym razem chciałbym zapytać, czy poniższa implementacja ma sens. Chodzi mi głownie o deq (ściąganie elementu z bufora) - podaję, że zwraca typ Type, ale jeśli bufor jest pusty - rzucam wyjątek i deq niczego nie zwróci, czy może w jakiś sposób domyślnie zwróci wtedy null?
import java.util.*;
class CircularBuffer <Type> {
int bsize = 10;
ArrayList al = new ArrayList(bsize);
public void enq (Type o)
{
if (al.size() >= 10) throw new Qfull();
al.add(o);
}
public Type deq ()
{
if (al.isEmpty()) throw new Qempty();
Type to = (Type)al.get(al.size()-1);
al.remove(al.size()-1);
return to;
}
}