public boolean addAll(ListBuilder<? extends T> c) { return addAll(size, c); }
public ListBuilder<T> append(Collection<? extends T> col) { addAll(col); return this; }
public ListBuilder<T> append(Collection<? extends T> col) { addAll(col); return this; }
public boolean addAll(ListBuilder<? extends T> c) { return addAll(size, c); }
@Override public C.List<T> append(T t) { if (isMutable()) { add(t); return this; } // Immutable if (isImmutable()) { ListBuilder<T> lb = new ListBuilder<T>(size() + 1); lb.addAll(this); lb.add(t); return lb.toList(); } // mutable but readonly C.List<T> l = C.newSizedList(size() + 1); l.addAll(this); l.add(t); return l; }
@Override public C.List<T> append(T t) { if (isMutable()) { add(t); return this; } // Immutable if (isImmutable()) { ListBuilder<T> lb = new ListBuilder<T>(size() + 1); lb.addAll(this); lb.add(t); return lb.toList(); } // mutable but readonly C.List<T> l = C.newSizedList(size() + 1); l.addAll(this); l.add(t); return l; }
/** * {@inheritDoc} * For mutable list, this method will insert the * element at {@code 0} position. */ @Override public C.List<T> prepend(T t) { if (isMutable()) { add(0, t); return this; } // immutable if (isImmutable()) { ListBuilder<T> lb = new ListBuilder<T>(size() + 1); lb.add(t); lb.addAll(this); return lb.toList(); } // readonly but mutable C.List<T> l = C.newSizedList(size() + 1); l.add(t); l.addAll(this); return l; }
/** * {@inheritDoc} * For mutable list, this method will insert the * element at {@code 0} position. */ @Override public C.List<T> prepend(T t) { if (isMutable()) { add(0, t); return this; } // immutable if (isImmutable()) { ListBuilder<T> lb = new ListBuilder<T>(size() + 1); lb.add(t); lb.addAll(this); return lb.toList(); } // readonly but mutable C.List<T> l = C.newSizedList(size() + 1); l.add(t); l.addAll(this); return l; }