Auf das Bild klicken um zur Hauptseite zurück zu kehren.


Collections (Core)  / Sammlungen

Liste der Typen:

List
Map


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:

Add (item As Object)

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

RemoveAt (Index As Int)

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

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:

Clear

Leert die komplette Map.

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.


Top