All Bundles
CompareVector<H:Compare>
Growable array of comparable generics
Operations
Code example:
function : Example() ~ Nil {
# insert elements
vector := Collection.CompareVector->New()<IntRef>;
vector->AddBack(4);
vector->AddBack(1);
vector->AddBack(5);
vector->AddBack(9);
vector->AddBack(2);
vector->AddBack(5);
# remove last item
vector->RemoveBack();
# get size
vector->Size()->PrintLine();
# get elements
(vector->Get(0) + vector->Get(1))->PrintLine();
# sort elements
vector->Sort();
# 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();
}
New
Default constructor
New()
Copy constructor
New(values:H[])
Parameters
Name | Type | Description |
---|
values | H | values to copy |
Copy constructor
New(values:Vector<H>)
Parameters
Name | Type | Description |
---|
values | Vector<H> | values to copy |
AddBack
Adds a value to the end
method : public : AddBack(value:H) ~ Nil
Parameters
Name | Type | Description |
---|
value | H | value to append |
BinarySearch
Performs a binary search O(log n)
method : public : native : BinarySearch(value:H) ~ Int
Parameters
Name | Type | Description |
---|
value | H | value to search for |
Return
Type | Description |
---|
Int | index of found value, -1 if not found |
Compress
Compresses the Vector freeing unused memory
method : public : Compress() ~ Nil
Each
Function called for each element
method : public : Each(f:(H)~Nil) ~ CompareVector<H>
Parameters
Name | Type | Description |
---|
f | (H)~Nil | function called |
Empty
Clears the vector
method : public : Empty() ~ Nil
Filter
Uses the given function to filter out values
method : public : Filter(f:(H)~Bool) ~ CompareVector<H>
Parameters
Name | Type | Description |
---|
f | (H)~Bool | function to use a filter. If the function evaluates to true the value is added to the collection. |
Return
Find
Finds a given value in the vector via linear search
method : public : Find(value:H) ~ Int
Parameters
Name | Type | Description |
---|
value | H | value to search for |
Return
Type | Description |
---|
Int | index of found value, -1 if not found |
First
Gets the first value
method : public : First() ~ H
Return
Type | Description |
---|
H | first value, or Nil if not set |
Get
Gets an indexed value
method : public : Get(index:Int) ~ H
Parameters
Name | Type | Description |
---|
index | Int | index |
Return
Has
Check of the given value is in the vector
method : public : Has(value:H) ~ Bool
Parameters
Name | Type | Description |
---|
value | H | value to check for |
Return
Type | Description |
---|
Bool | true if found, false otherwise |
IsEmpty
Checks to see if the vector is empty
method : public : IsEmpty() ~ Bool
Return
Type | Description |
---|
Bool | true if empty, false otherwise |
Last
Gets the last value
method : public : Last() ~ H
Return
Type | Description |
---|
H | last value, or Nil if not set |
Limit
Returns a limited list
method : public : Limit(l:Int) ~ CompareVector<H>
Parameters
Name | Type | Description |
---|
l | Int | limit |
Return
Map
Maps the given function to each value in the vector
method : public : Map(f:(H)~H) ~ CompareVector<H>
Parameters
Name | Type | Description |
---|
f | (H)~H | function to apply |
Return
Reduce
Uses the given function to reduce the values
method : public : Reduce(a:H, f:(H,H)~H) ~ H
Parameters
Name | Type | Description |
---|
a | H | initial value (i.e. accumulator) |
f | (H,H)~H | function to use a reduce |
Return
Type | Description |
---|
H | reduced vector |
Remove
Removes an indexed value
method : public : Remove(i:Int) ~ H
Parameters
Name | Type | Description |
---|
i | Int | index |
Return
RemoveBack
Removes the last value
method : public : RemoveBack() ~ H
Return
Reverse
Reverses element order
method : public : Reverse() ~ CompareVector<H>
Return
Type | Description |
---|
CompareVector<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
Name | Type | Description |
---|
value | H | value |
index | Int | index |
Size
Size of vector
method : public : Size() ~ Int
Return
Type | Description |
---|
Int | size of vector |
Sort
Sorts the values in the vector
method : public : native : Sort() ~ Nil
ToArray
Converts the vector into an object array
method : public : ToArray() ~ H[]
Return
Type | Description |
---|
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
Type | Description |
---|
String | string representation |