@Override public E ceiling(E element) { int index = tailIndex(element, true); return (index == size()) ? null : elements.get(index); }
@Override public E last() { if (isEmpty()) { throw new NoSuchElementException(); } return elements.get(size() - 1); }
@Override public E ceiling(E element) { int index = tailIndex(element, true); return (index == size()) ? null : elements.get(index); }
@Override public E higher(E element) { int index = tailIndex(element, false); return (index == size()) ? null : elements.get(index); }
@Override ImmutableList<E> createAsList() { return (size() <= 1) ? elements : new ImmutableSortedAsList<E>(this, elements); }
@Override public E higher(E element) { int index = tailIndex(element, false); return (index == size()) ? null : elements.get(index); }
@Override ImmutableSortedSet<E> tailSetImpl(E fromElement, boolean inclusive) { return getSubSet(tailIndex(fromElement, inclusive), size()); }
@Override public E last() { if (isEmpty()) { throw new NoSuchElementException(); } return elements.get(size() - 1); }
@Override public E higher(E element) { int index = tailIndex(element, false); return (index == size()) ? null : elements.get(index); }
@Override public E ceiling(E element) { int index = tailIndex(element, true); return (index == size()) ? null : elements.get(index); }
@Override ImmutableList<E> createAsList() { return (size() <= 1) ? elements : new ImmutableSortedAsList<E>(this, elements); }
RegularImmutableSortedSet<E> getSubSet(int newFromIndex, int newToIndex) { if (newFromIndex == 0 && newToIndex == size()) { return this; } else if (newFromIndex < newToIndex) { return new RegularImmutableSortedSet<E>( elements.subList(newFromIndex, newToIndex), comparator); } else { return emptySet(comparator); } }
@Override ImmutableSortedSet<E> tailSetImpl(E fromElement, boolean inclusive) { return getSubSet(tailIndex(fromElement, inclusive), size()); }
if (size() != that.size()) { return false; } else if (isEmpty()) {
RegularImmutableSortedSet<E> getSubSet(int newFromIndex, int newToIndex) { if (newFromIndex == 0 && newToIndex == size()) { return this; } else if (newFromIndex < newToIndex) { return new RegularImmutableSortedSet<E>( elements.subList(newFromIndex, newToIndex), comparator); } else { return emptySet(comparator); } }
if (size() != that.size()) { return false; } else if (isEmpty()) {
@Override public <T> T[] toArray(T[] array) { int size = size(); if (array.length < size) { array = ObjectArrays.newArray(array, size); } else if (array.length > size) { array[size] = null; } System.arraycopy(elements, fromIndex, array, 0, size); return array; }
@Override public E ceiling(E element) { int index = tailIndex(element, true); return (index == size()) ? null : elements.get(index); }
@Override public E ceiling(E element) { int index = tailIndex(element, true); return (index == size()) ? null : elements.get(index); }
@Override public E higher(E element) { int index = tailIndex(element, false); return (index == size()) ? null : elements.get(index); }