protected C.List<T> prependList(C.List<T> list) { if (isLazy()) { return CompositeList.of(list, this); } return unLazyPrepend(list); }
protected C.List<T> appendList(C.List<T> list) { if (isLazy()) { return CompositeList.of(this, list); } return unLazyAppend(list); }
protected C.List<T> prependList(C.List<T> list) { if (isLazy()) { return CompositeList.of(list, this); } return unLazyPrepend(list); }
protected C.List<T> appendList(C.List<T> list) { if (isLazy()) { return CompositeList.of(this, list); } return unLazyAppend(list); }
@Override public C.Sequence<T> prepend(Iterator<? extends T> iterator) { if (!iterator.hasNext()) { return this; } if (isLazy()) { return CompositeSeq.of(C.seq(iterator), this); } return unLazyAppend(iterator); }
@Override public C.Sequence<T> prepend(Iterator<? extends T> iterator) { if (!iterator.hasNext()) { return this; } if (isLazy()) { return CompositeSeq.of(C.seq(iterator), this); } return unLazyAppend(iterator); }
@Override public C.Sequence<T> append(Iterator<? extends T> iterator) { if (isLazy()) { return CompositeSeq.of(this, C.seq(iterator)); } return unLazyAppend(iterator); }
@Override public C.Sequence<T> prepend(Enumeration<? extends T> enumeration) { if (isLazy()) { return CompositeSeq.of(C.seq(enumeration), this); } return unLazyAppend(enumeration); }
@Override public C.Sequence<T> append(Iterator<? extends T> iterator) { if (isLazy()) { return CompositeSeq.of(this, C.seq(iterator)); } return unLazyAppend(iterator); }
@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); } return unLazyAppend(seq); }
@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); } return unLazyAppend(seq); }
@Override public C.Sequence<T> prepend(Enumeration<? extends T> enumeration) { if (isLazy()) { return CompositeSeq.of(C.seq(enumeration), this); } return unLazyAppend(enumeration); }
/** * {@inheritDoc} * This method will NOT change the underline list * * @param seq the sequence to be prepended * @return the prepended sequence */ @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 new CompositeSeq<T>(seq, this); } return unLazyPrepend(seq); }
/** * {@inheritDoc} * This method will NOT change the underline list * * @param seq the sequence to be prepended * @return the prepended sequence */ @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 new CompositeSeq<T>(seq, this); } return unLazyPrepend(seq); }
@Override @SuppressWarnings("unchecked") public C.Sequence<T> append(Iterable<? extends T> iterable) { if (iterable instanceof C.List) { return appendList((C.List<T>) iterable); } else if (iterable instanceof C.Sequence) { return append((C.Sequence<T>) iterable); } else if (iterable instanceof Collection) { return append((Collection<? extends T>) iterable); } else if (isLazy()) { return CompositeSeq.of(this, IterableSeq.of(iterable)); } else { return unLazyAppend(iterable); } }
@Override @SuppressWarnings("unchecked") public C.Sequence<T> prepend(Iterable<? extends T> iterable) { if (iterable instanceof C.List) { return prependList((C.List<T>) iterable); } else if (iterable instanceof C.Sequence) { return prepend((C.Sequence<T>) iterable); } else if (iterable instanceof Collection) { return prepend((Collection<? extends T>) iterable); } else if (isLazy()) { return CompositeSeq.of(IterableSeq.of(iterable), this); } else { return unLazyPrepend(iterable); } }
@Override @SuppressWarnings("unchecked") public C.Sequence<T> prepend(Iterable<? extends T> iterable) { if (iterable instanceof C.List) { return prependList((C.List<T>) iterable); } else if (iterable instanceof C.Sequence) { return prepend((C.Sequence<T>) iterable); } else if (iterable instanceof Collection) { return prepend((Collection<? extends T>) iterable); } else if (isLazy()) { return CompositeSeq.of(IterableSeq.of(iterable), this); } else { return unLazyPrepend(iterable); } }
@Override @SuppressWarnings("unchecked") public C.Sequence<T> append(Iterable<? extends T> iterable) { if (iterable instanceof C.List) { return appendList((C.List<T>) iterable); } else if (iterable instanceof C.Sequence) { return append((C.Sequence<T>) iterable); } else if (iterable instanceof Collection) { return append((Collection<? extends T>) iterable); } else if (isLazy()) { return CompositeSeq.of(this, IterableSeq.of(iterable)); } else { return unLazyAppend(iterable); } }
@Override public <R> C.List<R> map($.Function<? super T, ? extends R> mapper) { boolean immutable = isImmutable(); int sz = size(); if (isLazy()) { return MappedList.of(this, mapper); } if (immutable) { if (0 == sz) { return Nil.list(); } ListBuilder<R> lb = new ListBuilder<R>(sz); forEach($.visitor($.f1(mapper).andThen(C.F.addTo(lb)))); return lb.toList(); } else { if (0 == sz) { return C.newList(); } C.List<R> l = C.newSizedList(sz); forEach($.visitor($.f1(mapper).andThen(C.F.addTo(l)))); return l; } }
@Override public <R> C.List<R> map($.Function<? super T, ? extends R> mapper) { boolean immutable = isImmutable(); int sz = size(); if (isLazy()) { return MappedList.of(this, mapper); } if (immutable) { if (0 == sz) { return Nil.list(); } ListBuilder<R> lb = new ListBuilder<R>(sz); forEach($.visitor($.f1(mapper).andThen(C.F.addTo(lb)))); return lb.toList(); } else { if (0 == sz) { return C.newList(); } C.List<R> l = C.newSizedList(sz); forEach($.visitor($.f1(mapper).andThen(C.F.addTo(l)))); return l; } }