java.util.Spliterator# ORDERED 源码实例Demo

下面列出了java.util.Spliterator# ORDERED 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Bytecoder   文件: DoubleStream.java
/**
 * Returns an infinite sequential ordered {@code DoubleStream} produced by iterative
 * application of a function {@code f} to an initial element {@code seed},
 * producing a {@code Stream} consisting of {@code seed}, {@code f(seed)},
 * {@code f(f(seed))}, etc.
 *
 * <p>The first element (position {@code 0}) in the {@code DoubleStream}
 * will be the provided {@code seed}.  For {@code n > 0}, the element at
 * position {@code n}, will be the result of applying the function {@code f}
 *  to the element at position {@code n - 1}.
 *
 * <p>The action of applying {@code f} for one element
 * <a href="../concurrent/package-summary.html#MemoryVisibility"><i>happens-before</i></a>
 * the action of applying {@code f} for subsequent elements.  For any given
 * element the action may be performed in whatever thread the library
 * chooses.
 *
 * @param seed the initial element
 * @param f a function to be applied to the previous element to produce
 *          a new element
 * @return a new sequential {@code DoubleStream}
 */
public static DoubleStream iterate(final double seed, final DoubleUnaryOperator f) {
    Objects.requireNonNull(f);
    Spliterator.OfDouble spliterator = new Spliterators.AbstractDoubleSpliterator(Long.MAX_VALUE,
           Spliterator.ORDERED | Spliterator.IMMUTABLE | Spliterator.NONNULL) {
        double prev;
        boolean started;

        @Override
        public boolean tryAdvance(DoubleConsumer action) {
            Objects.requireNonNull(action);
            double t;
            if (started)
                t = f.applyAsDouble(prev);
            else {
                t = seed;
                started = true;
            }
            action.accept(prev = t);
            return true;
        }
    };
    return StreamSupport.doubleStream(spliterator, false);
}
 
源代码2 项目: TencentKona-8   文件: TestData.java
public static OfInt ofNode(String name, Node.OfInt node) {
    int characteristics = Spliterator.SIZED | Spliterator.ORDERED;
    return new AbstractTestData.IntTestData<>(name, node,
                                              n -> StreamSupport.intStream(n::spliterator, characteristics, false),
                                              n -> StreamSupport.intStream(n::spliterator, characteristics, true),
                                              Node.OfInt::spliterator,
                                              n -> (int) n.count());
}
 
源代码3 项目: openjdk-jdk8u   文件: TestData.java
public static OfInt ofNode(String name, Node.OfInt node) {
    int characteristics = Spliterator.SIZED | Spliterator.ORDERED;
    return new AbstractTestData.IntTestData<>(name, node,
                                              n -> StreamSupport.intStream(n::spliterator, characteristics, false),
                                              n -> StreamSupport.intStream(n::spliterator, characteristics, true),
                                              Node.OfInt::spliterator,
                                              n -> (int) n.count());
}
 
源代码4 项目: Bytecoder   文件: ZipFile.java
EntrySpliterator(int index, int fence, IntFunction<T> gen) {
    super((long)fence,
          Spliterator.ORDERED | Spliterator.DISTINCT | Spliterator.IMMUTABLE |
          Spliterator.NONNULL);
    this.index = index;
    this.fence = fence;
    this.gen = gen;
}
 
源代码5 项目: openjdk-jdk8u-backup   文件: TestData.java
public static OfInt ofNode(String name, Node.OfInt node) {
    int characteristics = Spliterator.SIZED | Spliterator.ORDERED;
    return new AbstractTestData.IntTestData<>(name, node,
                                              n -> StreamSupport.intStream(n::spliterator, characteristics, false),
                                              n -> StreamSupport.intStream(n::spliterator, characteristics, true),
                                              Node.OfInt::spliterator,
                                              n -> (int) n.count());
}
 
源代码6 项目: openjdk-jdk9   文件: StringLatin1.java
CharsSpliterator(byte[] array, int origin, int fence, int acs) {
    this.array = array;
    this.index = origin;
    this.fence = fence;
    this.cs = acs | Spliterator.ORDERED | Spliterator.SIZED
              | Spliterator.SUBSIZED;
}
 
源代码7 项目: TencentKona-8   文件: ConcurrentSkipListMap.java
public int characteristics() {
    return Spliterator.DISTINCT | Spliterator.SORTED |
        Spliterator.ORDERED | Spliterator.CONCURRENT |
        Spliterator.NONNULL;
}
 
源代码8 项目: TencentKona-8   文件: StreamSpliterators.java
public final int characteristics() {
    return s.characteristics() &
           ~(Spliterator.SIZED | Spliterator.SUBSIZED | Spliterator.ORDERED);
}
 
源代码9 项目: jdk8u60   文件: Streams.java
@Override
public int characteristics() {
    return Spliterator.ORDERED | Spliterator.SIZED | Spliterator.SUBSIZED |
           Spliterator.IMMUTABLE | Spliterator.NONNULL |
           Spliterator.DISTINCT | Spliterator.SORTED;
}
 
源代码10 项目: Bytecoder   文件: ConcurrentLinkedQueue.java
public int characteristics() {
    return (Spliterator.ORDERED |
            Spliterator.NONNULL |
            Spliterator.CONCURRENT);
}
 
源代码11 项目: jdk8u60   文件: ConcurrentSkipListMap.java
public int characteristics() {
    return Spliterator.DISTINCT | Spliterator.ORDERED |
        Spliterator.SORTED;
}
 
public int characteristics() {
    return Spliterator.ORDERED | Spliterator.NONNULL |
        Spliterator.CONCURRENT;
}
 
源代码13 项目: openjdk-jdk9   文件: StringUTF16.java
CodePointsSpliterator(byte[] array, int origin, int fence, int acs) {
    this.array = array;
    this.index = origin;
    this.fence = fence;
    this.cs = acs | Spliterator.ORDERED;
}
 
源代码14 项目: openjdk-jdk9   文件: StreamSpliterators.java
public final int characteristics() {
    return s.characteristics() &
           ~(Spliterator.SIZED | Spliterator.SUBSIZED | Spliterator.ORDERED);
}
 
源代码15 项目: dragonwell8_jdk   文件: LinkedBlockingDeque.java
public int characteristics() {
    return Spliterator.ORDERED | Spliterator.NONNULL |
        Spliterator.CONCURRENT;
}
 
源代码16 项目: TencentKona-8   文件: ConcurrentLinkedQueue.java
public int characteristics() {
    return Spliterator.ORDERED | Spliterator.NONNULL |
        Spliterator.CONCURRENT;
}
 
源代码17 项目: Bytecoder   文件: LinkedBlockingQueue.java
public int characteristics() {
    return (Spliterator.ORDERED |
            Spliterator.NONNULL |
            Spliterator.CONCURRENT);
}
 
源代码18 项目: lams   文件: FastConcurrentDirectDeque.java
public int characteristics() {
    return Spliterator.ORDERED | Spliterator.NONNULL |
        Spliterator.CONCURRENT;
}
 
源代码19 项目: dragonwell8_jdk   文件: StreamSpliterators.java
@Override
public int characteristics() {
    return (s.characteristics() & ~(Spliterator.SIZED | Spliterator.SUBSIZED |
                                    Spliterator.SORTED | Spliterator.ORDERED))
           | Spliterator.DISTINCT;
}
 
源代码20 项目: Bytecoder   文件: LinkedBlockingDeque.java
public int characteristics() {
    return (Spliterator.ORDERED |
            Spliterator.NONNULL |
            Spliterator.CONCURRENT);
}