Struct arrow_array::array::GenericListArray
source · pub struct GenericListArray<OffsetSize> { /* private fields */ }
Expand description
Generic struct for a variable-size list array.
Columnar format in Apache Arrow: https://arrow.apache.org/docs/format/Columnar.html#variable-size-list-layout
For non generic lists, you may wish to consider using ListArray
or LargeListArray
`
Implementations§
source§impl<OffsetSize: OffsetSizeTrait> GenericListArray<OffsetSize>
impl<OffsetSize: OffsetSizeTrait> GenericListArray<OffsetSize>
sourcepub const DATA_TYPE_CONSTRUCTOR: fn(_: Box<Field>) -> DataType = _
pub const DATA_TYPE_CONSTRUCTOR: fn(_: Box<Field>) -> DataType = _
The data type constructor of list array.
The input is the schema of the child array and
the output is the DataType
, List or LargeList.
sourcepub fn value_type(&self) -> DataType
pub fn value_type(&self) -> DataType
Returns a clone of the value type of this list.
sourcepub unsafe fn value_unchecked(&self, i: usize) -> ArrayRef
pub unsafe fn value_unchecked(&self, i: usize) -> ArrayRef
Returns ith value of this list array.
Safety
Caller must ensure that the index is within the array bounds
sourcepub fn value_offsets(&self) -> &[OffsetSize] ⓘ
pub fn value_offsets(&self) -> &[OffsetSize] ⓘ
Returns the offset values in the offsets buffer
sourcepub fn value_length(&self, i: usize) -> OffsetSize
pub fn value_length(&self, i: usize) -> OffsetSize
Returns the length for value at index i
.
sourcepub fn iter<'a>(&'a self) -> GenericListArrayIter<'a, OffsetSize>
pub fn iter<'a>(&'a self) -> GenericListArrayIter<'a, OffsetSize>
constructs a new iterator
sourcepub fn from_iter_primitive<T, P, I>(iter: I) -> Selfwhere
T: ArrowPrimitiveType,
P: IntoIterator<Item = Option<<T as ArrowPrimitiveType>::Native>>,
I: IntoIterator<Item = Option<P>>,
pub fn from_iter_primitive<T, P, I>(iter: I) -> Selfwhere T: ArrowPrimitiveType, P: IntoIterator<Item = Option<<T as ArrowPrimitiveType>::Native>>, I: IntoIterator<Item = Option<P>>,
Creates a GenericListArray
from an iterator of primitive values
Example
let data = vec![
Some(vec![Some(0), Some(1), Some(2)]),
None,
Some(vec![Some(3), None, Some(5)]),
Some(vec![Some(6), Some(7)]),
];
let list_array = ListArray::from_iter_primitive::<Int32Type, _, _>(data);
println!("{:?}", list_array);
Trait Implementations§
source§impl<OffsetSize: OffsetSizeTrait> Array for GenericListArray<OffsetSize>
impl<OffsetSize: OffsetSizeTrait> Array for GenericListArray<OffsetSize>
source§fn data_ref(&self) -> &ArrayData
fn data_ref(&self) -> &ArrayData
Returns a reference-counted pointer to the underlying data of this array.
source§fn slice(&self, offset: usize, length: usize) -> ArrayRef
fn slice(&self, offset: usize, length: usize) -> ArrayRef
Returns a zero-copy slice of this array with the indicated offset and length. Read more
source§fn offset(&self) -> usize
fn offset(&self) -> usize
Returns the offset into the underlying data used by this array(-slice).
Note that the underlying data can be shared by many arrays.
This defaults to
0
. Read moresource§fn is_null(&self, index: usize) -> bool
fn is_null(&self, index: usize) -> bool
Returns whether the element at
index
is null.
When using this function on a slice, the index is relative to the slice. Read moresource§fn is_valid(&self, index: usize) -> bool
fn is_valid(&self, index: usize) -> bool
Returns whether the element at
index
is not null.
When using this function on a slice, the index is relative to the slice. Read moresource§fn null_count(&self) -> usize
fn null_count(&self) -> usize
Returns the total number of null values in this array. Read more
source§fn get_buffer_memory_size(&self) -> usize
fn get_buffer_memory_size(&self) -> usize
Returns the total number of bytes of memory pointed to by this array.
The buffers store bytes in the Arrow memory format, and include the data as well as the validity map.
source§fn get_array_memory_size(&self) -> usize
fn get_array_memory_size(&self) -> usize
Returns the total number of bytes of memory occupied physically by this array.
This value will always be greater than returned by
get_buffer_memory_size()
and
includes the overhead of the data structures that contain the pointers to the various buffers.source§impl<'a, OffsetSize: OffsetSizeTrait> ArrayAccessor for &'a GenericListArray<OffsetSize>
impl<'a, OffsetSize: OffsetSizeTrait> ArrayAccessor for &'a GenericListArray<OffsetSize>
source§impl<OffsetSize> Clone for GenericListArray<OffsetSize>
impl<OffsetSize> Clone for GenericListArray<OffsetSize>
source§impl<OffsetSize: OffsetSizeTrait> Debug for GenericListArray<OffsetSize>
impl<OffsetSize: OffsetSizeTrait> Debug for GenericListArray<OffsetSize>
source§impl<OffsetSize: OffsetSizeTrait> From<ArrayData> for GenericListArray<OffsetSize>
impl<OffsetSize: OffsetSizeTrait> From<ArrayData> for GenericListArray<OffsetSize>
source§impl<OffsetSize: 'static + OffsetSizeTrait> From<GenericListArray<OffsetSize>> for ArrayData
impl<OffsetSize: 'static + OffsetSizeTrait> From<GenericListArray<OffsetSize>> for ArrayData
source§fn from(array: GenericListArray<OffsetSize>) -> Self
fn from(array: GenericListArray<OffsetSize>) -> Self
Converts to this type from the input type.
source§impl<OffsetSize: OffsetSizeTrait> From<GenericListArray<OffsetSize>> for GenericStringArray<OffsetSize>
impl<OffsetSize: OffsetSizeTrait> From<GenericListArray<OffsetSize>> for GenericStringArray<OffsetSize>
source§fn from(v: GenericListArray<OffsetSize>) -> Self
fn from(v: GenericListArray<OffsetSize>) -> Self
Converts to this type from the input type.
source§impl<T: OffsetSizeTrait> From<GenericListArray<T>> for GenericBinaryArray<T>
impl<T: OffsetSizeTrait> From<GenericListArray<T>> for GenericBinaryArray<T>
source§fn from(v: GenericListArray<T>) -> Self
fn from(v: GenericListArray<T>) -> Self
Converts to this type from the input type.