LListBuilder<A>
class
class LListBuilder<A> {
LList<A> _first = null;
Cons<A> _last = null;
void add(A x) {
Cons<A> cons = new Cons<A>(x, null);
if (_first == null) {
_first = cons;
} else {
_last.tail = cons;
}
_last = cons;
}
LList<A> build([tail = null]) {
if (tail == null)
tail = new Nil<A>();
if (_first == null) {
return tail;
} else {
_last.tail = tail;
return _first;
}
}
}
Methods
void add(A x) #
void add(A x) {
Cons<A> cons = new Cons<A>(x, null);
if (_first == null) {
_first = cons;
} else {
_last.tail = cons;
}
_last = cons;
}
LList<A> build([tail = null]) #
LList<A> build([tail = null]) {
if (tail == null)
tail = new Nil<A>();
if (_first == null) {
return tail;
} else {
_last.tail = tail;
return _first;
}
}