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
CartesianListcomputes 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 notImmutableListbased, 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 booleancontains(Object o)static <E> List<List<E>>create(List<? extends List<? extends E>> lists)List<E>get(int index)intindexOf(Object o)intsize()-
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
-
-