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

Comparing jsr166/src/main/java/util/concurrent/CopyOnWriteArraySet.java (file contents):
Revision 1.44 by jsr166, Wed Jan 16 01:59:47 2013 UTC vs.
Revision 1.45 by dl, Wed Jan 16 15:04:04 2013 UTC

# Line 5 | Line 5
5   */
6  
7   package java.util.concurrent;
8 < import java.util.*;
8 > import java.util.Collection;
9 > import java.util.Set;
10 > import java.util.AbstractSet;
11 > import java.util.Iterator;
12 > import java.util.stream.Stream;
13 > import java.util.Spliterator;
14 > import java.util.stream.Streams;
15  
16   /**
17   * A {@link java.util.Set} that uses an internal {@link CopyOnWriteArrayList}
# Line 353 | Line 359 | public class CopyOnWriteArraySet<E> exte
359          return k == len;
360      }
361  
362 +    public Stream<E> stream() {
363 +        int flags = Streams.STREAM_IS_ORDERED | Streams.STREAM_IS_SIZED |
364 +            Streams.STREAM_IS_DISTINCT;
365 +        Object[] a = al.getArray();
366 +        int n = a.length;
367 +        return Streams.stream
368 +            (() -> new CopyOnWriteArrayList.COWSpliterator<E>(a, 0, n), flags);
369 +    }
370 +    public Stream<E> parallelStream() {
371 +        int flags = Streams.STREAM_IS_ORDERED | Streams.STREAM_IS_SIZED |
372 +            Streams.STREAM_IS_DISTINCT;
373 +        Object[] a = al.getArray();
374 +        int n = a.length;
375 +        return Streams.parallelStream
376 +            (() -> new CopyOnWriteArrayList.COWSpliterator<E>(a, 0, n), flags);
377 +    }
378 +
379      /**
380       * Tests for equality, coping with nulls.
381       */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines