ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/jsr166x/NavigableSet.java
(Generate patch)

Comparing jsr166/src/jsr166x/NavigableSet.java (file contents):
Revision 1.8 by jsr166, Sat Dec 29 23:55:19 2012 UTC vs.
Revision 1.9 by jsr166, Wed Jan 16 00:51:11 2013 UTC

# Line 9 | Line 9 | import java.util.*;
9  
10   /**
11   * A {@link SortedSet} extended with navigation methods reporting
12 < * closest matches for given search targets. Methods <tt>lower</tt>,
13 < * <tt>floor</tt>, <tt>ceiling</tt>, and <tt>higher</tt> return keys
12 > * closest matches for given search targets. Methods {@code lower},
13 > * {@code floor}, {@code ceiling}, and {@code higher} return keys
14   * respectively less than, less than or equal, greater than or equal,
15 < * and greater than a given key, returning <tt>null</tt> if there is
16 < * no such key.  A <tt>NavigableSet</tt> may be viewed and traversed
17 < * in either ascending or descending order.  The <tt>Collection</tt>
18 < * <tt>iterator</tt> method returns an ascending <tt>Iterator</tt> and
19 < * the additional method <tt>descendingIterator</tt> returns
15 > * and greater than a given key, returning {@code null} if there is
16 > * no such key.  A {@code NavigableSet} may be viewed and traversed
17 > * in either ascending or descending order.  The {@code Collection}
18 > * {@code iterator} method returns an ascending {@code Iterator} and
19 > * the additional method {@code descendingIterator} returns
20   * descending iterator. The performance of ascending traversals is
21   * likely to be faster than descending traversals.  This interface
22 < * additionally defines methods <tt>pollFirst</tt> and
22 > * additionally defines methods {@code pollFirst} and
23   * <t>pollLast</tt> that return and remove the lowest and highest key,
24 < * if one exists, else returning <tt>null</tt>.
24 > * if one exists, else returning {@code null}.
25   *
26   * <p>The return values of navigation methods may be ambiguous in
27 < * implementations that permit <tt>null</tt> elements. However, even
27 > * implementations that permit {@code null} elements. However, even
28   * in this case the result can be disambiguated by checking
29 < * <tt>contains(null)</tt>. To avoid such issues, implementations of
29 > * {@code contains(null)}. To avoid such issues, implementations of
30   * this interface are encouraged <em>not</em> to permit insertion of
31 < * <tt>null</tt> elements. (Note that sorted sets of {@link
32 < * Comparable} elements intrinsically do not permit <tt>null</tt>.)
31 > * {@code null} elements. (Note that sorted sets of {@link
32 > * Comparable} elements intrinsically do not permit {@code null}.)
33   *
34   * @author Doug Lea
35   * @param <E> the type of elements maintained by this set
# Line 37 | Line 37 | import java.util.*;
37   public interface NavigableSet<E> extends SortedSet<E> {
38      /**
39       * Returns an element greater than or equal to the given element, or
40 <     * <tt>null</tt> if there is no such element.
40 >     * {@code null} if there is no such element.
41       *
42       * @param o the value to match
43       * @return an element greater than or equal to given element, or
44 <     * <tt>null</tt> if there is no such element.
44 >     * {@code null} if there is no such element.
45       * @throws ClassCastException if o cannot be compared with the elements
46       *            currently in the set.
47 <     * @throws NullPointerException if o is <tt>null</tt>
48 <     * and this set deas not permit <tt>null</tt> elements
47 >     * @throws NullPointerException if o is {@code null}
48 >     * and this set deas not permit {@code null} elements
49       */
50      public E ceiling(E o);
51  
52      /**
53       * Returns an element strictly less than the given element, or
54 <     * <tt>null</tt> if there is no such element.
54 >     * {@code null} if there is no such element.
55       *
56       * @param o the value to match
57       * @return the greatest element less than the given element, or
58 <     * <tt>null</tt> if there is no such element.
58 >     * {@code null} if there is no such element.
59       * @throws ClassCastException if o cannot be compared with the elements
60       *            currently in the set
61 <     * @throws NullPointerException if o is <tt>null</tt>
62 <     * and this set deas not permit <tt>null</tt> elements
61 >     * @throws NullPointerException if o is {@code null}
62 >     * and this set deas not permit {@code null} elements
63       */
64      public E lower(E o);
65  
66      /**
67       * Returns an element less than or equal to the given element, or
68 <     * <tt>null</tt> if there is no such element.
68 >     * {@code null} if there is no such element.
69       *
70       * @param o the value to match
71       * @return the greatest element less than or equal to given
72 <     * element, or <tt>null</tt> if there is no such element
72 >     * element, or {@code null} if there is no such element
73       * @throws ClassCastException if o cannot be compared with the elements
74       *            currently in the set
75 <     * @throws NullPointerException if o is <tt>null</tt>
76 <     * and this set deas not permit <tt>null</tt> elements
75 >     * @throws NullPointerException if o is {@code null}
76 >     * and this set deas not permit {@code null} elements
77       */
78      public E floor(E o);
79  
80      /**
81       * Returns an element strictly greater than the given element, or
82 <     * <tt>null</tt> if there is no such element.
82 >     * {@code null} if there is no such element.
83       *
84       * @param o the value to match
85       * @return the least element greater than the given element, or
86 <     * <tt>null</tt> if there is no such element.
86 >     * {@code null} if there is no such element.
87       * @throws ClassCastException if o cannot be compared with the elements
88       *            currently in the set
89 <     * @throws NullPointerException if o is <tt>null</tt>
90 <     * and this set deas not permit <tt>null</tt> elements
89 >     * @throws NullPointerException if o is {@code null}
90 >     * and this set deas not permit {@code null} elements
91       */
92      public E higher(E o);
93  
94      /**
95       * Retrieves and removes the first (lowest) element.
96       *
97 <     * @return the first element, or <tt>null</tt> if empty
97 >     * @return the first element, or {@code null} if empty
98       */
99      public E pollFirst();
100  
101      /**
102       * Retrieves and removes the last (highest) element.
103       *
104 <     * @return the last element, or <tt>null</tt> if empty
104 >     * @return the last element, or {@code null} if empty
105       */
106      public E pollLast();
107  
# Line 109 | Line 109 | public interface NavigableSet<E> extends
109       * Returns an iterator over the elements in this collection, in
110       * descending order.
111       *
112 <     * @return an <tt>Iterator</tt> over the elements in this collection
112 >     * @return an {@code Iterator} over the elements in this collection
113       */
114      Iterator<E> descendingIterator();
115  
116      /**
117       * Returns a view of the portion of this set whose elements range from
118 <     * <tt>fromElement</tt>, inclusive, to <tt>toElement</tt>, exclusive.  (If
119 <     * <tt>fromElement</tt> and <tt>toElement</tt> are equal, the returned
118 >     * {@code fromElement}, inclusive, to {@code toElement}, exclusive.  (If
119 >     * {@code fromElement} and {@code toElement} are equal, the returned
120       * sorted set is empty.)  The returned sorted set is backed by this set,
121       * so changes in the returned sorted set are reflected in this set, and
122       * vice-versa.
123       * @param fromElement low endpoint (inclusive) of the subSet
124       * @param toElement high endpoint (exclusive) of the subSet
125       * @return a view of the portion of this set whose elements range from
126 <     *         <tt>fromElement</tt>, inclusive, to <tt>toElement</tt>,
126 >     *         {@code fromElement}, inclusive, to {@code toElement},
127       *         exclusive
128 <     * @throws ClassCastException if <tt>fromElement</tt> and
129 <     *         <tt>toElement</tt> cannot be compared to one another using
128 >     * @throws ClassCastException if {@code fromElement} and
129 >     *         {@code toElement} cannot be compared to one another using
130       *         this set's comparator (or, if the set has no comparator,
131       *         using natural ordering)
132 <     * @throws IllegalArgumentException if <tt>fromElement</tt> is
133 <     * greater than <tt>toElement</tt>
134 <     * @throws NullPointerException if <tt>fromElement</tt> or
135 <     *         <tt>toElement</tt> is <tt>null</tt>
136 <     * and this set deas not permit <tt>null</tt> elements
132 >     * @throws IllegalArgumentException if {@code fromElement} is
133 >     * greater than {@code toElement}
134 >     * @throws NullPointerException if {@code fromElement} or
135 >     *         {@code toElement} is {@code null}
136 >     * and this set deas not permit {@code null} elements
137       */
138      public NavigableSet<E> subSet(E fromElement, E toElement);
139  
140      /**
141       * Returns a view of the portion of this set whose elements are strictly
142 <     * less than <tt>toElement</tt>.  The returned sorted set is backed by
142 >     * less than {@code toElement}.  The returned sorted set is backed by
143       * this set, so changes in the returned sorted set are reflected in this
144       * set, and vice-versa.
145       * @param toElement high endpoint (exclusive) of the headSet
146       * @return a view of the portion of this set whose elements are strictly
147       *         less than toElement
148 <     * @throws ClassCastException if <tt>toElement</tt> is not compatible
148 >     * @throws ClassCastException if {@code toElement} is not compatible
149       *         with this set's comparator (or, if the set has no comparator,
150 <     *         if <tt>toElement</tt> does not implement <tt>Comparable</tt>)
151 <     * @throws NullPointerException if <tt>toElement</tt> is <tt>null</tt>
152 <     * and this set deas not permit <tt>null</tt> elements
150 >     *         if {@code toElement} does not implement {@code Comparable})
151 >     * @throws NullPointerException if {@code toElement} is {@code null}
152 >     * and this set deas not permit {@code null} elements
153       */
154      public NavigableSet<E> headSet(E toElement);
155  
156      /**
157       * Returns a view of the portion of this set whose elements are
158 <     * greater than or equal to <tt>fromElement</tt>.  The returned
158 >     * greater than or equal to {@code fromElement}.  The returned
159       * sorted set is backed by this set, so changes in the returned
160       * sorted set are reflected in this set, and vice-versa.
161       * @param fromElement low endpoint (inclusive) of the tailSet
162       * @return a view of the portion of this set whose elements are
163 <     * greater than or equal to <tt>fromElement</tt>
164 <     * @throws ClassCastException if <tt>fromElement</tt> is not
163 >     * greater than or equal to {@code fromElement}
164 >     * @throws ClassCastException if {@code fromElement} is not
165       * compatible with this set's comparator (or, if the set has no
166 <     * comparator, if <tt>fromElement</tt> does not implement
167 <     * <tt>Comparable</tt>)
168 <     * @throws NullPointerException if <tt>fromElement</tt> is <tt>null</tt>
169 <     * and this set deas not permit <tt>null</tt> elements
166 >     * comparator, if {@code fromElement} does not implement
167 >     * {@code Comparable})
168 >     * @throws NullPointerException if {@code fromElement} is {@code null}
169 >     * and this set deas not permit {@code null} elements
170       */
171      public NavigableSet<E> tailSet(E fromElement);
172   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines