4.6 Datenstruktur ArrayList
Eine ArrayList ähnelt einem Datenfeld. Allerdings können Elemente leichter hinzugefügt, eingefügt oder entfernt werden. Außerdem kann eine ArrayList Elemente unterschiedlichen Typs enthalten. Die einzelnen Elemente haben einen Index.
In Projekt DSArrayList (siehe auch Abbildung 4.29) werden einige Operationen mit ArrayLists verdeutlicht.
Abbildung 4.29 Operationen mit einer ArrayList
Der Programmcode:
Public Class Form1
Dim a As New ArrayList
Private Sub cmdAnzeigen_Click(...) Handles ...
lstA.Items.Clear()
a.Clear()
' Elemente hinzufügen
a.Add(4)
a.Add(7.5)
a.Add("Hallo")
a.Add(7.5)
Ausgabe()
' Elemente einfügen
a.Insert(2, "Salut")
Ausgabe()
' Elemente suchen
lstA.Items.Add("Position von 7.5: " &
a.IndexOf(7.5))
lstA.Items.Add("Position von 7.5: " &
a.LastIndexOf(7.5))
' Element mit bestimmtem Wert entfernen
a.Remove(7.5)
Ausgabe()
' Element an bestimmter Position entfernen
a.RemoveAt(1)
Ausgabe()
End Sub
Private Sub Ausgabe()
Dim aus As String
Dim i As Integer
aus = "Elemente: "
For i = 0 To a.Count – 1
aus &= a(i) & " "
Next
lstA.Items.Add(aus)
End Sub
End Class
Listing 4.21 Projekt »DSArrayList«
Zur Erläuterung:
- Die ArrayList a wurde mit klassenweiter Gültigkeit deklariert. ArrayLists können aber auch innerhalb einer Prozedur deklariert werden.
- Die ListBox zur Ausgabe und die ArrayList werden jeweils mithilfe der Methode Clear() geleert. Dies ist nützlich, falls der Benutzer mehrmals den Button betätigt.
- Die Methode Add() dient zum Hinzufügen von Elementen an das Ende der ArrayList.
- In der allgemeinen Prozedur Ausgabe() wird die ArrayList mithilfe einer For-Schleife durchlaufen.
- Mit Hilfe der Methode Insert() können Elemente an beliebiger Stelle mit Hilfe des Index eingefügt werden. Alle Elemente hinter dem eingefügten Element rücken nach hinten, der Index wird jeweils um 1 erhöht.
- Die Methode Remove() dient zum Löschen des ersten Elements, das den angegebenen Wert hat. Alle Elemente hinter dem gelöschten Element rücken nach vorne, der Index wird jeweils um 1 vermindert.
- Durch die Methode RemoveAt() können Elemente mithilfe des Index gelöscht werden. Wie bei Remove() rücken alle Elemente hinter dem gelöschten Element nach vorne, der Index wird um 1 vermindert.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.