Package edu.jas.util

Class CartesianTwoProductInfiniteIteratorList<E>

  • All Implemented Interfaces:
    java.util.Iterator<java.util.List<E>>

    class CartesianTwoProductInfiniteIteratorList<E>
    extends java.lang.Object
    implements java.util.Iterator<java.util.List<E>>
    Cartesian product infinite iterator, two factors list version.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) java.util.Iterator<java.util.List<E>> compit0
      data structure.
      (package private) java.util.Iterator<java.util.List<E>> compit1  
      (package private) java.util.List<E> current  
      (package private) boolean empty  
      (package private) java.util.Iterator<java.util.List<E>> fincompit0  
      (package private) java.util.Iterator<java.util.List<E>> fincompit1  
      (package private) java.util.List<java.util.List<E>> fincomps0  
      (package private) java.util.List<java.util.List<E>> fincomps1  
      (package private) long level  
    • Constructor Summary

      Constructors 
      Constructor Description
      CartesianTwoProductInfiniteIteratorList​(java.lang.Iterable<java.util.List<E>> comps0, java.lang.Iterable<java.util.List<E>> comps1)
      CartesianProduct iterator constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean hasNext()
      Test for availability of a next tuple.
      java.util.List<E> next()
      Get next tuple.
      void remove()
      Remove a tuple if allowed.
      • Methods inherited from class java.lang.Object

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

        forEachRemaining
    • Field Detail

      • compit0

        final java.util.Iterator<java.util.List<E>> compit0
        data structure.
      • compit1

        final java.util.Iterator<java.util.List<E>> compit1
      • fincomps0

        final java.util.List<java.util.List<E>> fincomps0
      • fincomps1

        final java.util.List<java.util.List<E>> fincomps1
      • fincompit0

        java.util.Iterator<java.util.List<E>> fincompit0
      • fincompit1

        java.util.Iterator<java.util.List<E>> fincompit1
      • current

        java.util.List<E> current
      • empty

        boolean empty
      • level

        long level
    • Constructor Detail

      • CartesianTwoProductInfiniteIteratorList

        public CartesianTwoProductInfiniteIteratorList​(java.lang.Iterable<java.util.List<E>> comps0,
                                                       java.lang.Iterable<java.util.List<E>> comps1)
        CartesianProduct iterator constructor.
        Parameters:
        comps0 - first components of the Cartesian product.
        comps1 - second components of the Cartesian product.
    • Method Detail

      • hasNext

        public boolean hasNext()
        Test for availability of a next tuple.
        Specified by:
        hasNext in interface java.util.Iterator<E>
        Returns:
        true if the iteration has more tuples, else false.
      • next

        public java.util.List<E> next()
        Get next tuple.
        Specified by:
        next in interface java.util.Iterator<E>
        Returns:
        next tuple.
      • remove

        public void remove()
        Remove a tuple if allowed.
        Specified by:
        remove in interface java.util.Iterator<E>