1 |
|
/* |
2 |
|
* Written by Doug Lea and Josh Bloch with assistance from members of JCP |
3 |
|
* JSR-166 Expert Group and released to the public domain, as explained at |
4 |
< |
* http://creativecommons.org/licenses/publicdomain |
4 |
> |
* http://creativecommons.org/publicdomain/zero/1.0/ |
5 |
|
*/ |
6 |
|
|
7 |
|
package java.util; |
8 |
|
|
9 |
|
/** |
10 |
|
* A {@link SortedSet} extended with navigation methods reporting |
11 |
< |
* closest matches for given search targets. Methods {@code lower}, |
12 |
< |
* {@code floor}, {@code ceiling}, and {@code higher} return elements |
11 |
> |
* closest matches for given search targets. Methods {@link #lower}, |
12 |
> |
* {@link #floor}, {@link #ceiling}, and {@link #higher} return elements |
13 |
|
* respectively less than, less than or equal, greater than or equal, |
14 |
|
* and greater than a given element, returning {@code null} if there |
15 |
|
* is no such element. A {@code NavigableSet} may be accessed and |
18 |
|
* all relational and directional methods inverted. The performance of |
19 |
|
* ascending operations and views is likely to be faster than that of |
20 |
|
* descending ones. This interface additionally defines methods |
21 |
< |
* {@code pollFirst} and {@code pollLast} that return and remove the |
21 |
> |
* {@link #pollFirst} and {@link #pollLast} that return and remove the |
22 |
|
* lowest and highest element, if one exists, else returning {@code |
23 |
|
* null}. Methods {@code subSet}, {@code headSet}, |
24 |
|
* and {@code tailSet} differ from the like-named {@code |
27 |
|
* Subsets of any {@code NavigableSet} must implement the {@code |
28 |
|
* NavigableSet} interface. |
29 |
|
* |
30 |
< |
* <p> The return values of navigation methods may be ambiguous in |
30 |
> |
* <p>The return values of navigation methods may be ambiguous in |
31 |
|
* implementations that permit {@code null} elements. However, even |
32 |
|
* in this case the result can be disambiguated by checking |
33 |
|
* {@code contains(null)}. To avoid such issues, implementations of |
44 |
|
* implement {@code NavigableSet}, but extensions and implementations |
45 |
|
* of this interface are encouraged to override these methods to return |
46 |
|
* {@code NavigableSet}. |
47 |
< |
* |
47 |
> |
* |
48 |
|
* <p>This interface is a member of the |
49 |
|
* <a href="{@docRoot}/../technotes/guides/collections/index.html"> |
50 |
|
* Java Collections Framework</a>. |
143 |
|
* the iteration are undefined. |
144 |
|
* |
145 |
|
* <p>The returned set has an ordering equivalent to |
146 |
< |
* <tt>{@link Collections#reverseOrder(Comparator) Collections.reverseOrder}(comparator())</tt>. |
146 |
> |
* {@link Collections#reverseOrder(Comparator) Collections.reverseOrder}{@code (comparator())}. |
147 |
|
* The expression {@code s.descendingSet().descendingSet()} returns a |
148 |
|
* view of {@code s} essentially equivalent to {@code s}. |
149 |
|
* |