Package org.apache.druid.math.expr
Class CartesianList<E>
- All Implemented Interfaces:
Iterable<List<E>>,Collection<List<E>>,List<List<E>>,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]-
Field Summary
Fields inherited from class java.util.AbstractList
modCount -
Method Summary
Methods inherited from class java.util.AbstractList
add, add, addAll, clear, equals, hashCode, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subListMethods inherited from class java.util.AbstractCollection
addAll, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface java.util.List
addAll, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, sort, spliterator, toArray, toArray
-
Method Details
-
create
-
indexOf
-
get
-
size
public int size()- Specified by:
sizein interfaceCollection<E>- Specified by:
sizein interfaceList<E>- Specified by:
sizein classAbstractCollection<List<E>>
-
contains
- Specified by:
containsin interfaceCollection<E>- Specified by:
containsin interfaceList<E>- Overrides:
containsin classAbstractCollection<List<E>>
-