Array Vector

An array vector is a two-dimensional vector where each row is a variable-length vector.

This section introduces how to create an array vector and read/write its data.

Creating an Array Vector

By providing index and value arrays

public BasicArrayVector(int[] index, Vector value)

Refer to arrayVector for detailed explanations of index and value.

Example:
BasicIntVector intVector = new BasicIntVector(new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10});
BasicArrayVector arrayVector = new BasicArrayVector(new int[]{1,3,8,10}, intVector);
System.out.println(arrayVector.getString());

// output:
[[1],[2,3],[4,5,6,7,8],[9,10]]

Constructor

public BasicArrayVector(List<Vector> value)

value is a list of vectors representing the array vector’s elements.

Example:
List<Vector> list = new ArrayList<>();
list.add(new BasicIntVector(new int[]{1,2,3}));
list.add(new BasicIntVector(new int[]{4,5}));
list.add(new BasicIntVector(new int[]{6,7,8}));
list.add(new BasicIntVector(new int[]{9,10}));
BasicArrayVector arrayVector = new BasicArrayVector(list);
System.out.println(arrayVector.getString());

// output:
[[1,2,3],[4,5],[6,7,8],[9,10]]

Adding Data

Append

Use the Append method to add a vector to the end of the array vector.

public void Append(Vector value)

Example:

List<Vector> list = new ArrayList<>();
list.add(new BasicIntVector(new int[]{1,2,3}));
list.add(new BasicIntVector(new int[]{4,5}));
list.add(new BasicIntVector(new int[]{6,7,8}));
list.add(new BasicIntVector(new int[]{9,10}));
BasicArrayVector arrayVector = new BasicArrayVector(list);
System.out.println(arrayVector.getString());

arrayVector.Append(new BasicIntVector(new int[]{11,12,13,14}));
System.out.println(arrayVector.getString());

// output:
[[1,2,3],[4,5],[6,7,8],[9,10]]
// after appending:
[[1,2,3],[4,5],[6,7,8],[9,10],[11,12,13,14]]

Reading Data

get

Retrieve an element at a specified index.

public Entity get(int index)

Example:

List<Vector> list = new ArrayList<>();
list.add(new BasicIntVector(new int[]{1,2,3}));
list.add(new BasicIntVector(new int[]{4,5}));
list.add(new BasicIntVector(new int[]{6,7,8}));
list.add(new BasicIntVector(new int[]{9,10}));

Vector vector = (Vector) arrayVector.get(2);
System.out.println(vector.getString());

// output:
[6,7,8]

getSubVector

Retrieve several rows by index. Returns an array vector.

public Vector getSubVector(int[] indices)

Example:

List<Vector> list = new ArrayList<>();
list.add(new BasicIntVector(new int[]{1,2,3}));
list.add(new BasicIntVector(new int[]{4,5}));
list.add(new BasicIntVector(new int[]{6,7,8}));
list.add(new BasicIntVector(new int[]{9,10}));
BasicArrayVector arrayVector = new BasicArrayVector(list);

Vector subVector = arrayVector.getSubVector(new int[]{1, 2});
System.out.println(subVector.getString());

// output:
[[4,5],[6,7,8]]

Modifying Data

set

Modify the value at a specified index.

public void set(int index, Object value)
public void set(int index, Entity value)

index specifies the position to modify, and value is a vector.

Example:

List<Vector> list = new ArrayList<>();
list.add(new BasicIntVector(new int[]{1,2,3}));
list.add(new BasicIntVector(new int[]{4,5}));
list.add(new BasicIntVector(new int[]{6,7,8}));
list.add(new BasicIntVector(new int[]{9,10}));
BasicArrayVector arrayVector = new BasicArrayVector(list);

arrayVector.set(1, new BasicIntVector(new int[]{3,3}));
System.out.println(arrayVector.getString());
// [[1,2,3],[3,3],[6,7,8],[9,10]]