@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; }
@Override public ListIterator<T> listIterator(int index) { return new ReverseListIterator<T>(data().listIterator(size() - index)); }
@Override public ListIterator<T> listIterator(int index) { ListIterator<T> l, r; int sz = left.size(); if (index < sz) { l = left.listIterator(index); r = right.listIterator(); } else { l = left.listIterator(); r = right.listIterator(index - sz); } return new CompositeListIterator<T>(l, r); }
@Override public ListIterator<R> listIterator(int index) { return new MappedListIterator<T, R>(l_.listIterator(index), m_); }
@Override public ListIterator<R> listIterator(int index) { return new MappedListIterator<T, R>(l_.listIterator(index), m_); }
@Override public ListIterator<T> listIterator(int index) { ListIterator<T> l, r; int sz = left.size(); if (index < sz) { l = left.listIterator(index); r = right.listIterator(); } else { l = left.listIterator(); r = right.listIterator(index - sz); } return new CompositeListIterator<T>(l, r); }
@Override public ListIterator<T> listIterator(int index) { return new ReverseListIterator<T>(data().listIterator(size() - index)); }