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.91 by jsr166, Mon Feb 18 03:10:15 2013 UTC vs.
Revision 1.96 by jsr166, Thu May 2 06:02:17 2013 UTC

# Line 26 | Line 26
26   package java.util;
27   import java.util.function.Consumer;
28   import java.util.stream.Stream;
29 import java.util.stream.Streams;
29  
30   /**
31   * An unbounded priority {@linkplain Queue queue} based on a priority heap.
# Line 783 | Line 782 | public class PriorityQueue<E> extends Ab
782          heapify();
783      }
784  
785 <    final Spliterator<E> spliterator() {
785 >    public Spliterator<E> spliterator() {
786          return new PriorityQueueSpliterator<E>(this, 0, -1, 0);
787      }
788  
789 <    public Stream<E> stream() {
790 <        return Streams.stream(spliterator());
791 <    }
792 <
794 <    public Stream<E> parallelStream() {
795 <        return Streams.parallelStream(spliterator());
796 <    }
797 <
789 >    /**
790 >     * This is very similar to ArrayList Spliterator, except for extra
791 >     * null checks.
792 >     */
793      static final class PriorityQueueSpliterator<E> implements Spliterator<E> {
799        /*
800         * This is very similar to ArrayList Spliterator, except for
801         * extra null checks.
802         */
794          private final PriorityQueue<E> pq;
795          private int index;            // current index, modified on advance/split
796          private int fence;            // -1 until first use
797          private int expectedModCount; // initialized when fence set
798  
799 <        /** Creates new spliterator covering the given  range */
799 >        /** Creates new spliterator covering the given range */
800          PriorityQueueSpliterator(PriorityQueue<E> pq, int origin, int fence,
801                               int expectedModCount) {
802              this.pq = pq;
# Line 823 | Line 814 | public class PriorityQueue<E> extends Ab
814              return hi;
815          }
816  
817 <        public PriorityQueueSpliterator<E> trySplit() {
817 >        public Spliterator<E> trySplit() {
818              int hi = getFence(), lo = index, mid = (lo + hi) >>> 1;
819              return (lo >= mid) ? null :
820                  new PriorityQueueSpliterator<E>(pq, lo, index = mid,
# Line 831 | Line 822 | public class PriorityQueue<E> extends Ab
822          }
823  
824          @SuppressWarnings("unchecked")
825 <        public void forEach(Consumer<? super E> action) {
825 >        public void forEachRemaining(Consumer<? super E> action) {
826              int i, hi, mc; // hoist accesses and checks from loop
827              PriorityQueue<E> q; Object[] a;
828              if (action == null)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines