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]]