Package edu.jas.util

Class CartesianProduct<E>

java.lang.Object
edu.jas.util.CartesianProduct<E>
All Implemented Interfaces:
Iterable<List<E>>

public class CartesianProduct<E> extends Object implements Iterable<List<E>>
Cartesian product with iterator.
  • Field Details

  • Constructor Details

    • CartesianProduct

      public CartesianProduct(List<Iterable<E>> comps)
      CartesianProduct constructor.
      Parameters:
      comps - components of the Cartesian product.
  • Method Details

    • iterator

      public Iterator<List<E>> iterator()
      Get an iterator over subsets.
      Specified by:
      iterator in interface Iterable<E>
      Returns:
      an iterator.
    • listToIterable

      static <E> List<Iterable<E>> listToIterable(List<List<E>> comp)
      Transform list to iterables.
      Parameters:
      comp - components of the Cartesian product.
      Returns:
      iterables taken from lists.