Package org.apache.calcite.util
Class CompositeList<T>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<T>
-
- org.apache.calcite.util.CompositeList<T>
-
- Type Parameters:
T
- Element type
- All Implemented Interfaces:
java.lang.Iterable<T>
,java.util.Collection<T>
,java.util.List<T>
public class CompositeList<T> extends java.util.AbstractList<T>
Read-only list that is the concatenation of sub-lists.The list is read-only; attempts to call methods such as
AbstractList.add(Object)
orAbstractList.set(int, Object)
will throw.Changes to the backing lists, including changes in length, will be reflected in this list.
This class is not thread-safe. Changes to backing lists will cause unspecified behavior.
-
-
Constructor Summary
Constructors Modifier Constructor Description private
CompositeList(com.google.common.collect.ImmutableList<java.util.List<T>> lists)
Creates a CompositeList.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description T
get(int index)
static <T> java.util.List<T>
of()
Creates a CompositeList of zero lists.static <T> CompositeList<T>
of(java.util.List<? extends T>... lists)
Creates a CompositeList.static <T> CompositeList<T>
of(java.util.List<? extends T> list0, java.util.List<? extends T> list1)
Creates a CompositeList of two lists.static <T> CompositeList<T>
of(java.util.List<? extends T> list0, java.util.List<? extends T> list1, java.util.List<? extends T> list2)
Creates a CompositeList of three lists.static <T> java.util.List<T>
of(java.util.List<T> list0)
Creates a CompositeList of one list.static <T> CompositeList<T>
ofCopy(java.lang.Iterable<java.util.List<T>> lists)
Creates a CompositeList.int
size()
-
Methods inherited from class java.util.AbstractList
add, add, addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
-
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
-
-
-
-
Field Detail
-
lists
private final com.google.common.collect.ImmutableList<java.util.List<T>> lists
-
-
Constructor Detail
-
CompositeList
private CompositeList(com.google.common.collect.ImmutableList<java.util.List<T>> lists)
Creates a CompositeList.- Parameters:
lists
- Constituent lists
-
-
Method Detail
-
of
@SafeVarargs public static <T> CompositeList<T> of(java.util.List<? extends T>... lists)
Creates a CompositeList.- Type Parameters:
T
- Element type- Parameters:
lists
- Constituent lists- Returns:
- List consisting of all lists
-
ofCopy
public static <T> CompositeList<T> ofCopy(java.lang.Iterable<java.util.List<T>> lists)
Creates a CompositeList.- Type Parameters:
T
- Element type- Parameters:
lists
- Constituent lists- Returns:
- List consisting of all lists
-
of
public static <T> java.util.List<T> of()
Creates a CompositeList of zero lists.- Type Parameters:
T
- Element type- Returns:
- List consisting of all lists
-
of
public static <T> java.util.List<T> of(java.util.List<T> list0)
Creates a CompositeList of one list.- Type Parameters:
T
- Element type- Parameters:
list0
- List- Returns:
- List consisting of all lists
-
of
public static <T> CompositeList<T> of(java.util.List<? extends T> list0, java.util.List<? extends T> list1)
Creates a CompositeList of two lists.- Type Parameters:
T
- Element type- Parameters:
list0
- First listlist1
- Second list- Returns:
- List consisting of all lists
-
of
public static <T> CompositeList<T> of(java.util.List<? extends T> list0, java.util.List<? extends T> list1, java.util.List<? extends T> list2)
Creates a CompositeList of three lists.- Type Parameters:
T
- Element type- Parameters:
list0
- First listlist1
- Second listlist2
- Third list- Returns:
- List consisting of all lists
-
get
public T get(int index)
-
-