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} |
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 |
|
*/ |