Class CartesianList<E>

  • All Implemented Interfaces:
    Iterable<List<E>>, Collection<List<E>>, List<List<E>>, RandomAccess

    public final class CartesianList<E>
    extends AbstractList<List<E>>
    implements RandomAccess
    CartesianList computes the cartesian product of n lists. It is adapted from and is *nearly* identical to one Guava CartesianList which comes from a version from "the future" that we don't yet have, with the key difference that it is not ImmutableList based, so it can hold null values to be compatible with the evaluation and handling of cartesian products of expression arrays with null elements, e.g. ['a', 'b', null]