Package org.apache.druid.segment.data
Class ListIndexed<T>
- java.lang.Object
-
- org.apache.druid.segment.data.ListIndexed<T>
-
- All Implemented Interfaces:
Iterable<T>
,HotLoopCallee
,Indexed<T>
public class ListIndexed<T> extends Object implements Indexed<T>
-
-
Constructor Summary
Constructors Constructor Description ListIndexed(List<T> baseList)
ListIndexed(T... values)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description T
get(int index)
Get the value at specified positionint
indexOf(T value)
Returns the index of "value" in this Indexed object, or a negative number if the value is not present.void
inspectRuntimeShape(RuntimeShapeInspector inspector)
Implementations of this method should callinspector.visit()
with all fields of this class, which meet two conditions: 1.Iterator<T>
iterator()
int
size()
Number of elements in the value set-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
ListIndexed
@SafeVarargs public ListIndexed(T... values)
-
-
Method Detail
-
size
public int size()
Description copied from interface:Indexed
Number of elements in the value set
-
get
public T get(int index)
Description copied from interface:Indexed
Get the value at specified position
-
indexOf
public int indexOf(@Nullable T value)
Description copied from interface:Indexed
Returns the index of "value" in this Indexed object, or a negative number if the value is not present. The negative number is not guaranteed to be any particular number unlessIndexed.isSorted()
returns true, in which case it will be a negative number equal to (-(insertion point) - 1), in the manner of Arrays.binarySearch.- Specified by:
indexOf
in interfaceIndexed<T>
- Parameters:
value
- value to search for- Returns:
- index of value, or a negative number (equal to (-(insertion point) - 1) if
Indexed.isSorted()
)
-
inspectRuntimeShape
public void inspectRuntimeShape(RuntimeShapeInspector inspector)
Description copied from interface:HotLoopCallee
Implementations of this method should callinspector.visit()
with all fields of this class, which meet two conditions: 1. They are used in methods of this class, annotated withCalledFromHotLoop
2. They are either: a. Nullable objects b. Instances of HotLoopCallee c. Objects, which don't always have a specific class in runtime. For example, a field of typeSet
could beHashSet
orTreeSet
in runtime, depending on how this instance (the instance on which inspectRuntimeShape() is called) is configured. d. ByteBuffer or similar objects, where byte order matters e. boolean flags, affecting branch taking f. Arrays of objects, meeting any of conditions a-e.- Specified by:
inspectRuntimeShape
in interfaceHotLoopCallee
-
-