984 |
|
return new COWIterator<E>(elements, index); |
985 |
|
} |
986 |
|
|
987 |
< |
Spliterator<E> spliterator() { |
987 |
> |
public Spliterator<E> spliterator() { |
988 |
|
return Spliterators.spliterator |
989 |
|
(getArray(), Spliterator.IMMUTABLE | Spliterator.ORDERED); |
990 |
|
} |
991 |
|
|
992 |
– |
public Stream<E> stream() { |
993 |
– |
return Streams.stream(spliterator()); |
994 |
– |
|
995 |
– |
} |
996 |
– |
public Stream<E> parallelStream() { |
997 |
– |
return Streams.parallelStream(spliterator()); |
998 |
– |
} |
999 |
– |
|
992 |
|
static final class COWIterator<E> implements ListIterator<E> { |
993 |
|
/** Snapshot of the array */ |
994 |
|
private final Object[] snapshot; |
1260 |
|
} |
1261 |
|
} |
1262 |
|
|
1263 |
< |
Spliterator<E> spliterator() { |
1263 |
> |
public Spliterator<E> spliterator() { |
1264 |
|
int lo = offset; |
1265 |
|
int hi = offset + size; |
1266 |
|
Object[] a = expectedArray; |
1272 |
|
(a, lo, hi, Spliterator.IMMUTABLE | Spliterator.ORDERED); |
1273 |
|
} |
1274 |
|
|
1283 |
– |
public Stream<E> stream() { |
1284 |
– |
return Streams.stream(spliterator()); |
1285 |
– |
} |
1286 |
– |
|
1287 |
– |
public Stream<E> parallelStream() { |
1288 |
– |
return Streams.parallelStream(spliterator()); |
1289 |
– |
} |
1275 |
|
} |
1276 |
|
|
1277 |
|
private static class COWSubListIterator<E> implements ListIterator<E> { |