v2025.6.2
All Bundles

Vector

Growable generic array

function : Example() ~ Nil {
   # insert elements
   vector := Collection.Vector->New()<IntRef>;
   vector->AddBack(4);
   vector->AddBack(1);
   vector->AddBack(5);
   vector->AddBack(1);
   vector->AddBack(0);
   
   # remove last item
   vector->RemoveBack();
   
   # get size
   vector->Size()->PrintLine();
   
   # get elements
   (vector->Get(0) + vector->Get(1))->PrintLine();
   
   # print all items with a loop
   each(item := vector) {
   item->PrintLine();
   };
   
   # print all items with a function
   vector->Each(Show(IntRef) ~ Nil);
}

function : Show(value : IntRef) ~ Nil {
   value->PrintLine();
}

Operations

AddBack

Adds a value to the end

method : public : AddBack(value:H) ~ Nil

Parameters

NameTypeDescription
valueHvalue to append

Compress

Compresses the Vector freeing unused memory

method : public : Compress() ~ Nil

Each

Function called for each element

method : public : Each(f:(H)~Nil) ~ Vector<H>

Parameters

NameTypeDescription
f(H)~Nilfunction called

Empty

Clears the vector

method : public : Empty() ~ Nil

First

Gets the first value

method : public : First() ~ H

Return

TypeDescription
Hfirst value, or Nil if not set

Get

Gets an indexed value

method : public : Get(index:Int) ~ H

Parameters

NameTypeDescription
indexIntindex

Return

TypeDescription
Hvalue, or Nil if invalid index

IsEmpty

Checks to see if the vector is empty

method : public : IsEmpty() ~ Bool

Return

TypeDescription
Booltrue if empty, false otherwise

Last

Gets the last value

method : public : Last() ~ H

Return

TypeDescription
Hlast value, or Nil if not set

Limit

Returns a limited list

method : public : Limit(l:Int) ~ Vector<H>

Parameters

NameTypeDescription
lIntlimit

Return

TypeDescription
Vector<H>limited list

Map

Maps the given function to each value in the vector

method : public : Map(f:(H)~H) ~ Vector<H>

Parameters

NameTypeDescription
f(H)~Hfunction to apply

Return

TypeDescription
Vector<H>newly calculated vector

New

Default constructor

New()

New

Copy constructor

New(values:H[])

Parameters

NameTypeDescription
valuesH[]values to copy

New

Copy constructor

New(values:Vector<H>)

Parameters

NameTypeDescription
valuesVector<H>values to copy

Remove

Removes an indexed value

method : public : Remove(i:Int) ~ H

Parameters

NameTypeDescription
iIntindex

Return

TypeDescription
Hvalue

RemoveBack

Removes the last value

method : public : RemoveBack() ~ H

Return

TypeDescription
Hvalue

Reverse

Reverses element order

method : public : Reverse() ~ Vector<H>

Return

TypeDescription
Vector<H>reversed vector, if the vector is empty or hold 1 item then the original list is returned

Set

Sets an indexed value

method : public : Set(value:H, index:Int) ~ Bool

Parameters

NameTypeDescription
valueHvalue
indexIntindex

Size

Size of vector

method : public : Size() ~ Int

Return

TypeDescription
Intsize of vector

Swap

Swap two values in the vector

method : public : Swap(a:Int, b:Int) ~ Bool

Parameters

NameTypeDescription
aIntfirst value
bIntsecond value

Return

TypeDescription
Booltrue if values were swapped

ToArray

Converts the vector into an object array

method : public : ToArray() ~ H[]

Return

TypeDescription
H[]object array

ToString

Formats the collection into a string. If an element implements the 'Stringify' interface, it's 'ToString()' is called.

method : public : ToString() ~ String

Return

TypeDescription
Stringstring representation