Class CombinationSpliterator

  • All Implemented Interfaces:
    java.util.Spliterator<int[]>

    final class CombinationSpliterator
    extends java.lang.Object
    implements java.util.Spliterator<int[]>
    • 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 fence  
      private int n  
      private long pos  
      private int[] value  
      • Fields inherited from interface java.util.Spliterator

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

      Constructors 
      Constructor Description
      CombinationSpliterator​(int n, long pos, long fence, int[] value)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int characteristics()  
      (package private) static long cnk​(int n, int k)  
      long estimateSize()  
      void forEachRemaining​(java.util.function.Consumer<? super int[]> action)  
      (package private) static long gcd​(long a, long b)  
      (package private) static int[] jump​(long newPos, int k, int n)  
      (package private) static void step​(int[] value, int n)  
      boolean tryAdvance​(java.util.function.Consumer<? super int[]> action)  
      java.util.Spliterator<int[]> trySplit()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Spliterator

        getComparator, getExactSizeIfKnown, hasCharacteristics
    • Field Detail

      • pos

        private long pos
      • value

        private int[] value
      • fence

        private final long fence
      • n

        private final int n
    • Constructor Detail

      • CombinationSpliterator

        public CombinationSpliterator​(int n,
                                      long pos,
                                      long fence,
                                      int[] value)
    • Method Detail

      • forEachRemaining

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

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

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

        public int characteristics()
        Specified by:
        characteristics in interface java.util.Spliterator<int[]>
      • step

        static void step​(int[] value,
                         int n)
      • jump

        static int[] jump​(long newPos,
                          int k,
                          int n)
      • gcd

        static long gcd​(long a,
                        long b)
      • cnk

        static long cnk​(int n,
                        int k)
        Parameters:
        n - n > k
        k - k > 0
        Returns:
        CNK(n, k)
      • tryAdvance

        public boolean tryAdvance​(java.util.function.Consumer<? super int[]> action)
        Specified by:
        tryAdvance in interface java.util.Spliterator<int[]>