pub struct PrimitiveDictionaryBuilder<K, V>where
    K: ArrowPrimitiveType,
    V: ArrowPrimitiveType,
{ /* private fields */ }
Expand description

Array builder for DictionaryArray. For example to map a set of byte indices to f32 values. Note that the use of a HashMap here will not scale to very large arrays or result in an ordered dictionary.

Example:



let mut builder = PrimitiveDictionaryBuilder::<UInt8Type, UInt32Type>::new();
 builder.append(12345678).unwrap();
 builder.append_null();
 builder.append(22345678).unwrap();
 let array = builder.finish();

 assert_eq!(
     array.keys(),
     &UInt8Array::from(vec![Some(0), None, Some(1)])
 );

 // Values are polymorphic and so require a downcast.
 let av = array.values();
 let ava: &UInt32Array = av.as_any().downcast_ref::<UInt32Array>().unwrap();
 let avs: &[u32] = ava.values();

 assert!(!array.is_null(0));
 assert!(array.is_null(1));
 assert!(!array.is_null(2));

 assert_eq!(avs, &[12345678, 22345678]);

Implementations

Creates a new PrimitiveDictionaryBuilder.

Creates a new PrimitiveDictionaryBuilder with the provided capacities

keys_capacity: the number of keys, i.e. length of array to build values_capacity: the number of distinct dictionary values, i.e. size of dictionary

Append a primitive value to the array. Return an existing index if already present in the values array or a new index if the value is appended to the values array.

Builds the DictionaryArray and reset this builder.

Trait Implementations

Returns the builder as an non-mutable Any reference.

Returns the builder as an mutable Any reference.

Returns the boxed builder as a box of Any.

Returns the number of array slots in the builder

Returns whether the number of array slots is zero

Builds the array and reset this builder.

Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.