@Override public C.List<T> lazy() { setFeature(C.Feature.LAZY); return this; }
@Override public C.List<T> parallel() { setFeature(C.Feature.PARALLEL); return this; }
@Override public C.List<T> parallel() { setFeature(C.Feature.PARALLEL); return this; }
@Override public C.List<T> lazy() { setFeature(C.Feature.LAZY); return this; }
@Override public C.List<T> sorted(Comparator<? super T> comparator) { C.List<T> l = copy(); Collections.sort(l, comparator); ((ListBase)l).setFeature(SORTED); return l; }
@Override public C.List<T> sorted(Comparator<? super T> comparator) { C.List<T> l = copy(); Collections.sort(l, comparator); ((ListBase)l).setFeature(SORTED); return l; }
@Override public C.List<T> sorted() { if (size() == 0) return C.newList(); T t = get(0); C.List<T> l = copy(); if (!(t instanceof Comparable)) { return l; } Object[] a = l.toArray(); Arrays.sort(a); ListIterator<T> i = l.listIterator(); for (int j=0; j<a.length; j++) { i.next(); i.set((T)a[j]); } ((ListBase)l).setFeature(SORTED); sorted = true; return l; }
@Override public C.List<T> sorted() { if (size() == 0) return C.newList(); T t = get(0); C.List<T> l = copy(); if (!(t instanceof Comparable)) { return l; } Object[] a = l.toArray(); Arrays.sort(a); ListIterator<T> i = l.listIterator(); for (int j=0; j<a.length; j++) { i.next(); i.set((T)a[j]); } ((ListBase)l).setFeature(SORTED); sorted = true; return l; }