Collections (Core) / Sammlungen
Liste der Typen:
List /
Liste
Listen sind dynamischen Arrays ähnlich. Man kann Einträge in eine Liste
einfügen und entfernen, die Größe der Liste wird automatisch dementsprechend
geändert.
Eine Liste kann jede Art von Objekten enthalten. Jedoch wenn eine Liste als
Prozess global deklariert wird kann sie keine Activity-Objekte enthalten (wie
Views).
Basic4android konvertiert automatisch gewöhnliche Arrays zu Listen. Also
wenn ein Listparameter erwartet ist kann man einfach ein Array übergeben.
Zum Beispiel:
Dim List1 As List
List1.Initialize
List1.AddAll(Array As Int(1, 2, 3, 4, 5))
Die Get Methode wird benutzt um einen Eintrag in der Liste zu lesen.
Listen können in Dateien gespeichert und gelesen werden mit File.WriteList
und File.ReadList.
Man kann eine For/Next Schlaufe benutzen um alle Werte durchzulaufen.
For i = 0 To List1.Size - 1
Dim number As Int
number = List1.Get(i)
...
Next
Events /
Ereignisse:
None
Members:
Add (item As Object)
AddAll (List
As List)
AddAllAt (Index As Int, List As List)
Clear
Get (Index As
Int) As Object
IndexOf (Item As Object) As Int
Initialize
Initialize2 (Array As List)
InsertAt (Index As Int, Item As Object)
IsInitialized As Boolean
RemoveAt (Index As Int)
Set (Index As
Int, Item As
Object)
Size As Int [read only]
Sort (Ascending As
Boolean)
SortCaseInsensitive (Ascending
As Boolean)
Members Erklärung:
Fügt einen Eintrag an das
Ende der Liste an.
AddAll (List As List)
Fügt alle Elemente in der
gegebenen Liste an das Ende der Liste an.
Man kann auch ein Array direkt anfügen.
Beispiel:
List.AddAll(Array As String("value1", "value2"))
AddAllAt (Index As Int, List As List)
Fügt alle Elemente in der
gegebenen Liste in die Liste ein, ab der gegebenen Stelle (Index).
Clear
Entfernt alle Einträge von
der Liste, leert die komplette Liste.
Get (Index As Int) As Object
Liest den Eintrag an der
gegebenen Stelle. Der Eintrag wird nicht von der Liste entfernt.
IndexOf (Item As Object) As Int
Gibt den Index des gegebenen
Eintrags zurück, oder -1 wenn keiner gefunden wurde.
Initialize
Initialisiert eine leere
Liste.
Initialize2 (Array As List)
Initialisiert eine Liste mit
den gegebenen Werten. Diese Methode sollte benutzt werden wenn man ein Array in
eine Liste konvertieren will.
Beachten Sie, daß wenn man dieser Methode eine Liste übergibt teilen beide
Objekte die gleiche Liste, und wenn man ein Array übergibt hat die Liste eine
fixe Größe. Was heißt daß man nachher keine Einträge ein- oder anfügen weder
noch entfernen kann.
Beispiel:
Dim List1 As List
List1.Initialize2(Array As Int(1,2,3,4,5))
Beispiel:
Dim List1 As List
Dim SomeArray(10) As String
'Fill array...
List1.Initialize2(SomeArray)
InsertAt (Index As Int, Item As Object)
Fügt den gegebenen Eintrag an
der gegebenen Stelle ein. Alle Einträge mit einem Index größer als der gegebene Index werden nach oben geschoben.
IsInitialized As Boolean
Entfernt den Eintrag an der
gegebenen Stelle.
Set (Index As Int, Item As Object)
Ersetzt den aktuellen Eintrag
an der gegebenen Stelle durch den neuen Eintrag.
Size As Int [read only]
Gibt die Anzahl der Einträge
der Liste zurück.
Sort (Ascending As Boolean)
Sortiert die Liste.
Alle Einträge müssen entweder Zahlen oder Strings sein.
Ascending = True -> aufwärts sortieren
Ascending =
False -> abwärts sortieren
SortCaseInsensitive (Ascending As Boolean)
Sortiert die Liste
ohne zwischen Groß- und Kleinbuchstaben zu unterscheiden.
Alle Einträge müssen Strings sein.
Ascending = True -> aufwärts sortieren
Ascending =
False -> abwärts sortieren
Map ist eine Collection (Sammlung) die Wertepaare, Schlüsselwort und Wert
enthält. Schlüsselworte sind einzig. Was heißt, daß wenn man einen neuen
Eintrag einfügt, mit einem Schlüsselwort des schon in der Map anwesend ist, der
vorhergehende Eintrag in der Map ersetzt wird.
Um einen Wert aus der Map zu holen sucht man nach seinem Schlüsselwort. Das
ist generell eine sehr schnelle Funktionsweise (O(1) verglichen zu O(n) in
einer Liste).
Das Schlüsselwort kann entweder eine Zahl oder ein String sein. Der Wert kann
jede Art von Objekt sein.
Beachten Sie, daß diese Art von Maps die Einträge in der gleichen Reihenfolge
zurück gibt wie
sie eingegeben wurden. Normalerweise benutzt man Put um einen Eintrag anzufügen
und Get oder GetDefault um einen Wert gemäß seinem Schlüsselwort zurück zu
holen.
Man kann eine For/Next Schlaufe benutzen um alle Werte durchzulaufen:
For i = 0 To Map1.Size - 1
Dim Key, Value As String
Key = Map1.GetKeyAt(i)
Value = Map1.GetValueAt(i)
Next
Ähnlich wie für die Listen, kann eine Map jede Art von Objekten enthalten.
Jedoch wenn eine Map als Prozess global deklariert wird kann sie keine Activity-Objekte
enthalten (wie Views).
Maps können in Dateien gespeichert und gelesen werden mit File.WriteMap und
File.ReadMap.
Events / Ereignisse:
None
Members:
Clear
ContainsKey
(Key As Object) As Boolean
Get (Key As Object) As Object
GetDefault
(Key As Object, Default As Object) As Object
GetKeyAt
(Index As Int) As Object
GetValueAt
(Index As Int) As Object
Initialize
IsInitialized
As Boolean
Put (Key As Object, Value As Object) As Object
Remove (Key As Object) As Object
Size As Int [read only]
Members Erklärungen:
ContainsKey (Key As Object) As Boolean
Testet ob das gegebene Schlüsselwort
schon in der Map anwesend ist.
Beispiel:
If Map.ContainsKey("some key") Then ...
Get (Key As Object) As Object
Gibt den Wert für das
gegebene Schlüsselwort zurück.
GetDefault (Key As Object, Default As Object) As Object
Gibt den Wert für das
gegebene Schlüsselwort zurück. Wenn das Schlüsselwort nicht anwesend ist wird
der gegebene 'Default' Wert zurück gegeben.
GetKeyAt (Index As Int) As Object
Gibt das Schlüsselwort von
der gegebene Stelle (Index) zurück
GetKeyAt und GetValueAt kann
benutzt werden um alle Wertepaare durchzulaufen.
Diese Methoden sind speziell dafür optimiert.
Beispiel:
For i = 0 to Map.Size - 1
Log("Key: " & Map.GetKeyAt(i))
Log("Value: " & Map.GetValueAt(i))
Next
GetValueAt (Index As Int) As Object
Gibt den Wert von der
gegebene Stelle (Index) zurück
GetKeyAt und GetValueAt kann
benutzt werden um alle Wertepaare durchzulaufen.
Diese Methoden sind speziell dafür optimiert.
Beispiel:
For i = 0 to Map.Size - 1
Log("Key: " & Map.GetKeyAt(i))
Log("Value: " & Map.GetValueAt(i))
Next
Initialize
Initialisiert das Objekt.
Beispiel:
Dim Map1 As Map
Map1.Initialize
IsInitialized As Boolean
Put (Key As Object, Value As Object) As Object
Schiebt ein Schlüsselwort/Wert
Paar in die Map ein, überschreibt den vorhergehenden Wert wenn das gegebene
Schlüsselwort schon in der Map anwesend ist.
Gibt den vorhergehenden Wert des gegebenen Schlüsselwortes zurück oder Null
wenn das Schlüsselwort noch nicht existiert.
Beispiel:
Map1.Put("Key", "Value")
Remove (Key As Object) As Object
Entfernt den Eintrag mit dem
gegebenen Schlüsselwort wenn es existiert.
Gibt den Wert des entfernten Eintrages zurück oder Null wenn kein Eintrag
gefunden wurde.
Size As Int [read only]
Gibt die Anzahl der Einträge
der Map zurück.