Sub Example
Dim Persons As MinimaList
Persons.Initialize
Dim missing As Int = -1
Dim names() As String = Array As String("John", "Alice", "Anne", "Michael", "Gordon", "William")
For Each name As String In names
Dim age As Int = Rnd(18, 90)
If age Mod 2 = 0 Then age = missing
Dim person As Map = CreatePerson(1, name, "", "", age)
Persons.Add(person)
Next
Log($"id${TAB}Name${TAB}Age${TAB}Group"$)
For Each p As Map In Persons.List
Log(p.Get("id") & TAB & p.Get("Name") & TAB & IIf(missing = p.Get("Age"), "-", p.Get("Age")) & TAB & p.Get("Group"))
Next
' Update value
Persons.FindByKey("Name", "Anne").Put("Age", 22)
' Sort by key
Persons.SortByKey("Age", True)
Log(TAB)
Log($"id${TAB}Name${TAB}Age${TAB}Group"$)
For Each p As Map In Persons.List
Log(p.Get("id") & TAB & p.Get("Name") & TAB & IIf(missing = p.Get("Age"), "-", p.Get("Age")) & TAB & p.Get("Group"))
Next
End Sub
Sub CreatePerson (Group As Int, Name As String, Address As String, City As String, Age As Int) As Map
Return CreateMap("Group": Group, "Name": Name, "Address": Address, "City": City, "Age": Age)
End Sub