Class DistinctSpliterator<T>

  • All Implemented Interfaces:
    java.util.function.Consumer<T>, java.util.Spliterator<T>

    final class DistinctSpliterator<T>
    extends Internals.Box<T>
    implements java.util.Spliterator<T>
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface java.util.Spliterator

        java.util.Spliterator.OfDouble, java.util.Spliterator.OfInt, java.util.Spliterator.OfLong, java.util.Spliterator.OfPrimitive<T extends java.lang.Object,​T_CONS extends java.lang.Object,​T_SPLITR extends java.util.Spliterator.OfPrimitive<T,​T_CONS,​T_SPLITR>>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private long atLeast  
      private java.util.Map<T,​java.lang.Long> counts  
      private java.util.concurrent.atomic.AtomicLong nullCounter  
      private java.util.Spliterator<T> source  
      • Fields inherited from interface java.util.Spliterator

        CONCURRENT, DISTINCT, IMMUTABLE, NONNULL, ORDERED, SIZED, SORTED, SUBSIZED
    • Constructor Summary

      Constructors 
      Constructor Description
      DistinctSpliterator​(java.util.Spliterator<T> source, long atLeast)  
      DistinctSpliterator​(java.util.Spliterator<T> source, long atLeast, java.util.concurrent.atomic.AtomicLong nullCounter, java.util.Map<T,​java.lang.Long> counts)  
    • Field Detail

      • source

        private final java.util.Spliterator<T> source
      • nullCounter

        private java.util.concurrent.atomic.AtomicLong nullCounter
      • counts

        private java.util.Map<T,​java.lang.Long> counts
      • atLeast

        private final long atLeast
    • Constructor Detail

      • DistinctSpliterator

        DistinctSpliterator​(java.util.Spliterator<T> source,
                            long atLeast,
                            java.util.concurrent.atomic.AtomicLong nullCounter,
                            java.util.Map<T,​java.lang.Long> counts)
      • DistinctSpliterator

        DistinctSpliterator​(java.util.Spliterator<T> source,
                            long atLeast)
    • Method Detail

      • tryAdvance

        public boolean tryAdvance​(java.util.function.Consumer<? super T> action)
        Specified by:
        tryAdvance in interface java.util.Spliterator<T>
      • forEachRemaining

        public void forEachRemaining​(java.util.function.Consumer<? super T> action)
        Specified by:
        forEachRemaining in interface java.util.Spliterator<T>
      • trySplit

        public java.util.Spliterator<T> trySplit()
        Specified by:
        trySplit in interface java.util.Spliterator<T>
      • estimateSize

        public long estimateSize()
        Specified by:
        estimateSize in interface java.util.Spliterator<T>
      • characteristics

        public int characteristics()
        Specified by:
        characteristics in interface java.util.Spliterator<T>
      • getComparator

        public java.util.Comparator<? super T> getComparator()
        Specified by:
        getComparator in interface java.util.Spliterator<T>