package java.util;
//针对给定搜索目标返回最接近匹配项的导航方法
public interface NavigableSet<E> extends SortedSet<E> {
    E lower(E e);//找到小于e的第一个元素
    E floor(E e);//找到小于等于e第一个小的元素
    E ceiling(E e);//找到大于等于e第一个小的元素
    E higher(E e);//找到大于e第一个小的元素
    E pollFirst();//移除并返回小于e第一个小的元素
    E pollLast();//找到大于e第一个小的元素
    Iterator<E> iterator();
    NavigableSet<E> descendingSet(); //返回倒序的NavigableSet
    Iterator<E> descendingIterator(); //返回倒序的NavigableSet的迭代器
    //视图
    //子Set fromElement,toElement,根据fromInclusive,toInclusive左右端点是否包含
    NavigableSet<E> subSet(E fromElement, boolean fromInclusive,
                           E toElement,   boolean toInclusive);
    //返回小于toElement的NavigableSet,inclusive决定是否包含toElement
    NavigableSet<E> headSet(E toElement, boolean inclusive);
    //返回大于fromElement的NavigableSet,inclusive决定是否包含fromElement
    NavigableSet<E> tailSet(E fromElement, boolean inclusive);
    //子set,左闭右开区间,返回SortedSet
    SortedSet<E> subSet(E fromElement, E toElement);
    //大于等于fromElement 的所有元素,返回SortedSet
    SortedSet<E> tailSet(E fromElement);
}