Package org.apache.druid.math.expr
Class CartesianList<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<List<E>>
-
- org.apache.druid.math.expr.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 notImmutableList
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]
-
-
Field Summary
-
Fields inherited from class java.util.AbstractList
modCount
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
contains(Object o)
static <E> List<List<E>>
create(List<? extends List<? extends E>> lists)
List<E>
get(int index)
int
indexOf(Object o)
int
size()
-
Methods inherited from class java.util.AbstractList
add, add, addAll, clear, equals, hashCode, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
-
Methods inherited from class java.util.AbstractCollection
addAll, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface java.util.List
addAll, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, sort, spliterator, toArray, toArray
-
-