Home
VB.NET
ArrayList Examples
This page was last reviewed on Sep 3, 2024.
Dot Net Perls
ArrayList. This VB.NET collection is a dynamic array—it resizes to fit new elements. An array type offers superior performance. But the ArrayList is sized automatically by built-in code.
List
Functions. ArrayList has many functions that help manage a linear collection. We add objects, we remove and insert things, and we count the number of elements.
Add example. First the Add subroutine is often used. It appends the object argument to the end of the internal ArrayList data structure. This program adds 3 elements to the ArrayList.
Tip You do not need to check to see if there is room before adding the element.
Info There will always be room except in unusual circumstances such as out-of-memory situations.
Module Module1 Sub Main() ' Create a new ArrayList, and add 3 strings to it. Dim list As New ArrayList list.Add("One") list.Add("Two") list.Add("Three") Console.WriteLine(list.Count) End Sub End Module
3
Parameter. It is possible and often useful to receive an ArrayList as a parameter to a Sub. We can specify it as a parameter with "As ArrayList." The syntax is simple.
Tip The Example method here could be used with any ArrayList instance, with any elements in its internal storage.
Module Module1 Sub Main() ' Create an ArrayList and add two elements to it. Dim list As New ArrayList list.Add(5) list.Add(7) ' Use ArrayList as an argument to the method. Example(list) End Sub ''' <summary> ''' Receives ArrayList as argument. ''' </summary> Private Sub Example(ByVal list As ArrayList) For Each num As Integer In list Console.WriteLine(num) Next End Sub End Module
5 7
AddRange. It is possible to add a range of elements from one ArrayList onto the end of another ArrayList. To do this, please consider using the AddRange Sub.
Info AddRange receives one argument—an ArrayList that contains elements you want to add.
Here In this example, the two array lists are effectively concatenated. This is done with the AddRange Sub.
Module Module1 Sub Main() ' Create an ArrayList and add two elements. Dim list1 As New ArrayList list1.Add(5) list1.Add(7) ' Create a separate ArrayList. Dim list2 As New ArrayList list2.Add(10) list2.Add(13) ' Add this ArrayList to the other one. list1.AddRange(list2) ' Loop over the elements. For Each num As Integer In list1 Console.WriteLine(num) Next End Sub End Module
5 7 10 13
Count, Clear. Often with ArrayList, you will not be sure how many elements are in the current instance. Fortunately, the ArrayList offers the Count property.
Tip Count is a property. Count quickly returns the number of elements in the ArrayList.
Property
Next This example uses the Clear method. After you call the Clear method, the Count property will return zero elements.
Module Module1 Sub Main() ' Add two elements to the ArrayList. Dim list As New ArrayList list.Add(9) list.Add(10) ' Write the Count. Console.WriteLine(list.Count) ' Clear the ArrayList. list.Clear() ' Write the Count again. Console.WriteLine(list.Count) End Sub End Module
2 0
Insert, Remove. We show how to use the Add, RemoveAt, Insert, and RemoveRange methods. We have already seen the Add method in the first example.
Here We see how the RemoveAt method works. It receives an index argument, which corresponds to the element index you want to remove.
Also The Insert method receives two arguments: the position you want to insert at, and the object reference itself.
Finally RemoveRange receives the index you want to start removing at, and the number of elements you want to remove.
Module Module1 Sub Main() ' Create an ArrayList and add three strings to it. Dim list As New ArrayList list.Add("Dot") list.Add("Net") list.Add("Perls") ' Remove a string. list.RemoveAt(1) ' Insert a string. list.Insert(0, "Carrot") ' Remove a range. list.RemoveRange(0, 2) ' Display. For Each str As String In list Console.WriteLine(str) Next End Sub End Module
Perls
TryCast. In the ArrayList, elements are not directly stored with a type. Instead they are accessed through the Object base type. To cast an Object to a more derived type, use TryCast.
Object
Tip TryCast receives 2 arguments: the element we want to cast from the ArrayList, and the type to which we want to cast.
Warning The TryCast operator will not throw exceptions, as it uses the tester-doer pattern.
TryCast
Module Module1 Sub Main() ' Create a new ArrayList. Dim list As New ArrayList list.Add("man") list.Add("woman") list.Add("plant") ' Loop over the ArrayList with a For-loop. For i As Integer = 0 To list.Count - 1 ' Cast to a string. Dim str As String = TryCast(list.Item(i), String) Console.WriteLine(str) Next i End Sub End Module
man woman plant
GetRange. Here we extract one part of an ArrayList into another. To do this, please use the GetRange method on the original ArrayList instance.
Then Assign the result of the GetRange method call to a new ArrayList variable reference.
Note GetRange receives the starting index from which you want to copy, and then the count of elements you want to get.
Integer
Module Module1 Sub Main() ' Create new ArrayList. Dim list1 As New ArrayList list1.Add("fish") list1.Add("amphibian") list1.Add("bird") list1.Add("plant") ' Create a new ArrayList. ' ... Fill it with the range from the first one. Dim list2 As New ArrayList list2 = list1.GetRange(2, 2) ' Loop over the elements. For Each str As String In list2 Console.WriteLine(str) Next End Sub End Module
bird plant
Summary. We examined the ArrayList type—this is a core class in .NET. It is harder to use in VB.NET due to the casting syntax required, but older programs often need it.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Sep 3, 2024 (edit).
Home
Changes
© 2007-2024 Sam Allen.