NavigableSet 继承自 SortedSet,相比于 SortedSet,NavigableSet 多了以下几类功能:
1. 直接获取符合条件的最近的元素,这里,条件主要是 lower(>)、 floor(>=)、 higher(<)、 ceiling(<=)。如果符合条件的元素不存在,就返回 null。
2. 逆向访问:descendingSet,descendingIterator。
3. 获取并弹出最大/最小值:pollFirst,pollLast。
4. 增强了 subSet /tailSet
4.1. SortedSet 返回的集合当中,边界是左闭右开的(也就是说,[a, b))。
4.2. NavigableSet 提供了另一个版本,制定左右边界是否闭合。
参考链接:
1. https://docs.oracle.com/javase/8/docs/technotes/guides/collections/overview.html
2. https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html