protected C.List<T> appendList(C.List<T> l) { if (isLazy()) { return CompositeList.of(this, l); } if (l instanceof ImmutableList) { return appendImmutableList((ImmutableList<T>) l); } return unLazyAppend(l); }
public C.List<T> prepend(ImmutableList<T> l) { if (isLazy()) { return CompositeList.of(l, this); } int szA = size(); int szB = l.size(); T[] myData = data_; T[] data = $.newArray(myData, szA + szB); System.arraycopy(l.data_, 0, data, 0, szB); System.arraycopy(myData, 0, data, szB, szA); return of(data); }
@Override @SuppressWarnings("unchecked") public C.List<T> reverse() { if (isLazy()) { return ReverseList.wrap(this); } T[] data = (T[]) Algorithms.ARRAY_REVERSE.apply(data_, 0, data_.length); return of(data); }
protected C.List<T> appendList(C.List<T> l) { if (isLazy()) { return CompositeList.of(this, l); } if (l instanceof ImmutableList) { return appendImmutableList((ImmutableList<T>) l); } return unLazyAppend(l); }
public C.List<T> prepend(C.List<T> l) { if (isLazy()) { return CompositeList.of(l, this); } if (l instanceof ImmutableList) { return prependList((ImmutableList<T>) l); } return unLazyPrepend(l); }
public C.List<T> prepend(ImmutableList<T> l) { if (isLazy()) { return CompositeList.of(l, this); } int szA = size(); int szB = l.size(); T[] myData = data_; T[] data = $.newArray(myData, szA + szB); System.arraycopy(l.data_, 0, data, 0, szB); System.arraycopy(myData, 0, data, szB, szA); return of(data); }
public C.List<T> prepend(C.List<T> l) { if (isLazy()) { return CompositeList.of(l, this); } if (l instanceof ImmutableList) { return prependList((ImmutableList<T>) l); } return unLazyPrepend(l); }
@Override @SuppressWarnings("unchecked") public C.List<T> reverse() { if (isLazy()) { return ReverseList.wrap(this); } T[] data = (T[]) Algorithms.ARRAY_REVERSE.apply(data_, 0, data_.length); return of(data); }
@Override public C.Sequence<T> append(Enumeration<? extends T> enumeration) { if (isLazy()) { return CompositeSeq.of(this, C.seq(enumeration)); } ListBuilder<T> lb = new ListBuilder<T>(size() * 2); lb.append(this).append(enumeration); return lb.toList(); }
@Override public C.Sequence<T> append(C.Sequence<? extends T> seq) { if (seq instanceof C.List) { return appendList((C.List<T>) seq); } if (isLazy()) { return CompositeSeq.of(this, seq); } ListBuilder<T> lb = new ListBuilder<T>(size() * 2); lb.append(this).append(seq); return lb.toList(); }
@Override public C.Sequence<T> append(C.Sequence<? extends T> seq) { if (seq instanceof C.List) { return appendList((C.List<T>) seq); } if (isLazy()) { return CompositeSeq.of(this, seq); } ListBuilder<T> lb = new ListBuilder<T>(size() * 2); lb.append(this).append(seq); return lb.toList(); }
@Override public C.Sequence<T> append(Iterator<? extends T> iterator) { if (isLazy()) { return CompositeSeq.of(this, C.seq(iterator)); } ListBuilder<T> lb = new ListBuilder<T>(size() * 2); lb.append(this).append(iterator); return lb.toList(); }
@Override public C.Sequence<T> append(Iterator<? extends T> iterator) { if (isLazy()) { return CompositeSeq.of(this, C.seq(iterator)); } ListBuilder<T> lb = new ListBuilder<T>(size() * 2); lb.append(this).append(iterator); return lb.toList(); }
@Override public C.Sequence<T> prepend(C.Sequence<? extends T> seq) { if (seq instanceof C.List) { return prependList((C.List<T>) seq); } if (isLazy()) { return CompositeSeq.of(seq, this); } ListBuilder<T> lb = new ListBuilder<T>(size() * 2); lb.append(seq).append(this); return lb.toList(); }
@Override public C.Sequence<T> prepend(C.Sequence<? extends T> seq) { if (seq instanceof C.List) { return prependList((C.List<T>) seq); } if (isLazy()) { return CompositeSeq.of(seq, this); } ListBuilder<T> lb = new ListBuilder<T>(size() * 2); lb.append(seq).append(this); return lb.toList(); }
@Override public C.Sequence<T> append(Enumeration<? extends T> enumeration) { if (isLazy()) { return CompositeSeq.of(this, C.seq(enumeration)); } ListBuilder<T> lb = new ListBuilder<T>(size() * 2); lb.append(this).append(enumeration); return lb.toList(); }
@Override public <R> C.List<R> map($.Function<? super T, ? extends R> mapper) { if (isLazy()) { return MappedList.of(this, mapper); } int sz = size(); ListBuilder<R> lb = new ListBuilder<R>(sz); forEach($.visitor($.f1(mapper).andThen(C.F.addTo(lb)))); return lb.toList(); }
@Override public <R> C.List<R> map($.Function<? super T, ? extends R> mapper) { if (isLazy()) { return MappedList.of(this, mapper); } int sz = size(); ListBuilder<R> lb = new ListBuilder<R>(sz); forEach($.visitor($.f1(mapper).andThen(C.F.addTo(lb)))); return lb.toList(); }