54 |
|
* <p>This class and its iterator implement all of the |
55 |
|
* <em>optional</em> methods of the {@link Collection} and {@link |
56 |
|
* Iterator} interfaces. The Iterator provided in method {@link |
57 |
< |
* #iterator()} is <em>not</em> guaranteed to traverse the elements of |
57 |
> |
* #iterator()} and the Spliterator provided in method {@link #spliterator()} |
58 |
> |
* are <em>not</em> guaranteed to traverse the elements of |
59 |
|
* the priority queue in any particular order. If you need ordered |
60 |
|
* traversal, consider using {@code Arrays.sort(pq.toArray())}. |
61 |
|
* |
338 |
|
int i = size; |
339 |
|
if (i >= queue.length) |
340 |
|
grow(i + 1); |
341 |
+ |
siftUp(i, e); |
342 |
|
size = i + 1; |
341 |
– |
if (i == 0) |
342 |
– |
queue[0] = e; |
343 |
– |
else |
344 |
– |
siftUp(i, e); |
343 |
|
return true; |
344 |
|
} |
345 |
|
|
750 |
|
/** |
751 |
|
* Saves this queue to a stream (that is, serializes it). |
752 |
|
* |
753 |
+ |
* @param s the stream |
754 |
+ |
* @throws java.io.IOException if an I/O error occurs |
755 |
|
* @serialData The length of the array backing the instance is |
756 |
|
* emitted (int), followed by all of its elements |
757 |
|
* (each an {@code Object}) in the proper order. |
758 |
– |
* @param s the stream |
759 |
– |
* @throws java.io.IOException if an I/O error occurs |
758 |
|
*/ |
759 |
|
private void writeObject(java.io.ObjectOutputStream s) |
760 |
|
throws java.io.IOException { |
800 |
|
/** |
801 |
|
* Creates a <em><a href="Spliterator.html#binding">late-binding</a></em> |
802 |
|
* and <em>fail-fast</em> {@link Spliterator} over the elements in this |
803 |
< |
* queue. |
803 |
> |
* queue. The spliterator does not traverse elements in any particular order |
804 |
> |
* (the {@link Spliterator#ORDERED ORDERED} characteristic is not reported). |
805 |
|
* |
806 |
|
* <p>The {@code Spliterator} reports {@link Spliterator#SIZED}, |
807 |
|
* {@link Spliterator#SUBSIZED}, and {@link Spliterator#NONNULL}. |