Interface PqList
public interface PqList
Type-safe list interface for reading Parquet list values.
Provides type-specific accessor methods for iterating over list elements.
For primitive int/long/double lists, use the dedicated types
(PqIntList, PqLongList, PqDoubleList) via
rowReader.getListOfInts(), etc.
// String list
PqList tags = rowReader.getList("tags");
for (String tag : tags.strings()) {
System.out.println(tag);
}
// Nested struct list
PqList items = rowReader.getList("items");
for (PqStruct item : items.structs()) {
String name = item.getString("name");
}
// Nested list (2D matrix)
PqList matrix = rowReader.getList("matrix");
for (PqIntList innerList : matrix.intLists()) {
for (var it = innerList.iterator(); it.hasNext(); ) {
int value = it.nextInt();
}
}
// Triple nested list (3D cube)
PqList cube = rowReader.getList("cube");
for (PqList plane : cube.lists()) {
for (PqIntList innerList : plane.intLists()) {
// ...
}
}
-
Method Summary
Modifier and TypeMethodDescriptionIterable<byte[]> binaries()Iterate over elements as binary (byte[]) values.booleans()Iterate over elements as boolean values.dates()Iterate over elements as LocalDate values.decimals()Iterate over elements as BigDecimal values.Iterate over elements as nested double lists.doubles()Iterate over elements as double values.floats()Iterate over elements as float values.get(int index) Get a raw element by index without type conversion.intLists()Iterate over elements as nested int lists.ints()Iterate over elements as int values.booleanisEmpty()Check if this list is empty.booleanisNull(int index) Check if an element is null by index.lists()Iterate over elements as nested lists.Iterate over elements as nested long lists.longs()Iterate over elements as long values.maps()Iterate over elements as nested maps.intsize()Get the number of elements in this list.strings()Iterate over elements as String values.structs()Iterate over elements as nested structs.times()Iterate over elements as LocalTime values.Iterate over elements as Instant (timestamp) values.uuids()Iterate over elements as UUID values.values()Iterate over elements as raw objects without type conversion.
-
Method Details
-
size
int size()Get the number of elements in this list.- Returns:
- the element count
-
isEmpty
boolean isEmpty()Check if this list is empty.- Returns:
- true if the list has no elements
-
get
Get a raw element by index without type conversion.- Parameters:
index- the element index (0-based)- Returns:
- the raw element value, or null if the element is null
- Throws:
IndexOutOfBoundsException- if index is out of range
-
isNull
boolean isNull(int index) Check if an element is null by index.- Parameters:
index- the element index (0-based)- Returns:
- true if the element is null
-
values
-
ints
-
longs
-
floats
-
doubles
-
booleans
-
strings
-
binaries
Iterable<byte[]> binaries()Iterate over elements as binary (byte[]) values. -
dates
-
times
-
timestamps
-
decimals
Iterable<BigDecimal> decimals()Iterate over elements as BigDecimal values. -
uuids
-
structs
-
lists
-
intLists
-
longLists
Iterable<PqLongList> longLists()Iterate over elements as nested long lists. Use this for list-of-long-list structures. -
doubleLists
Iterable<PqDoubleList> doubleLists()Iterate over elements as nested double lists. Use this for list-of-double-list structures. -
maps
-