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

Comparing jsr166/src/main/java/util/PriorityQueue.java (file contents):
Revision 1.71 by jsr166, Sun Sep 5 21:32:19 2010 UTC vs.
Revision 1.80 by jsr166, Wed Jan 16 01:59:47 2013 UTC

# Line 56 | Line 56 | package java.util;
56   * the priority queue in any particular order. If you need ordered
57   * traversal, consider using {@code Arrays.sort(pq.toArray())}.
58   *
59 < * <p> <strong>Note that this implementation is not synchronized.</strong>
59 > * <p><strong>Note that this implementation is not synchronized.</strong>
60   * Multiple threads should not access a {@code PriorityQueue}
61   * instance concurrently if any of the threads modifies the queue.
62   * Instead, use the thread-safe {@link
63   * java.util.concurrent.PriorityBlockingQueue} class.
64   *
65   * <p>Implementation note: this implementation provides
66 < * O(log(n)) time for the enqueing and dequeing methods
66 > * O(log(n)) time for the enqueuing and dequeuing methods
67   * ({@code offer}, {@code poll}, {@code remove()} and {@code add});
68   * linear time for the {@code remove(Object)} and {@code contains(Object)}
69   * methods; and constant time for the retrieval methods
# Line 77 | Line 77 | package java.util;
77   * @author Josh Bloch, Doug Lea
78   * @param <E> the type of elements held in this collection
79   */
80 + @SuppressWarnings("unchecked")
81   public class PriorityQueue<E> extends AbstractQueue<E>
82      implements java.io.Serializable {
83  
# Line 331 | Line 332 | public class PriorityQueue<E> extends Ab
332      }
333  
334      public E peek() {
335 <        if (size == 0)
335 <            return null;
336 <        return (E) queue[0];
335 >        return (size == 0) ? null : (E) queue[0];
336      }
337  
338      private int indexOf(Object o) {
# Line 430 | Line 429 | public class PriorityQueue<E> extends Ab
429       * precise control over the runtime type of the output array, and may,
430       * under certain circumstances, be used to save allocation costs.
431       *
432 <     * <p>Suppose <tt>x</tt> is a queue known to contain only strings.
432 >     * <p>Suppose {@code x} is a queue known to contain only strings.
433       * The following code can be used to dump the queue into a newly
434 <     * allocated array of <tt>String</tt>:
434 >     * allocated array of {@code String}:
435       *
436 <     * <pre>
438 <     *     String[] y = x.toArray(new String[0]);</pre>
436 >     *  <pre> {@code String[] y = x.toArray(new String[0]);}</pre>
437       *
438 <     * Note that <tt>toArray(new Object[0])</tt> is identical in function to
439 <     * <tt>toArray()</tt>.
438 >     * Note that {@code toArray(new Object[0])} is identical in function to
439 >     * {@code toArray()}.
440       *
441       * @param a the array into which the elements of the queue are to
442       *          be stored, if it is big enough; otherwise, a new array of the
# Line 592 | Line 590 | public class PriorityQueue<E> extends Ab
590       * avoid missing traversing elements.
591       */
592      private E removeAt(int i) {
593 <        assert i >= 0 && i < size;
593 >        // assert i >= 0 && i < size;
594          modCount++;
595          int s = --size;
596          if (s == i) // removed last element
# Line 727 | Line 725 | public class PriorityQueue<E> extends Ab
725      }
726  
727      /**
728 <     * Saves the state of the instance to a stream (that
731 <     * is, serializes it).
728 >     * Saves this queue to a stream (that is, serializes it).
729       *
730       * @serialData The length of the array backing the instance is
731       *             emitted (int), followed by all of its elements
732       *             (each an {@code Object}) in the proper order.
736     * @param s the stream
733       */
734      private void writeObject(java.io.ObjectOutputStream s)
735 <        throws java.io.IOException{
735 >        throws java.io.IOException {
736          // Write out element count, and any hidden stuff
737          s.defaultWriteObject();
738  
# Line 749 | Line 745 | public class PriorityQueue<E> extends Ab
745      }
746  
747      /**
748 <     * Reconstitutes the {@code PriorityQueue} instance from a stream
753 <     * (that is, deserializes it).
754 <     *
755 <     * @param s the stream
748 >     * Reconstitutes this queue from a stream (that is, deserializes it).
749       */
750      private void readObject(java.io.ObjectInputStream s)
751          throws java.io.IOException, ClassNotFoundException {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines