Класс ArrayList

Последнее обновление: 30.10.2015

Первый рассматриваемый нами класс ArrayList представляет необобщенную коллекцию объектов. И если стоит задача, создать коллекцию с разнотипными данными, то данный класс как раз для этого подходит. Рассмотрим пример использования ArrayList:

Module Module1

    Sub Main()

        'необобщенная коллекция ArrayList
        Dim objlist As New ArrayList()
        objlist.Add(2.3) 'добавляем в список элемент Double
        objlist.Add(55)  'добавляем в список объект типа Integer
        objlist.AddRange(New String() {"Hello", "world"})  'добавляем в список массив строк
        For Each item As Object In objlist
            Console.WriteLine(item)
        Next

        'удаление первого элемента
        objlist.RemoveAt(0)
        'переворачиваем список
        objlist.Reverse()
        'получаем элемент по индексу
        Console.WriteLine(objlist(0))
        'перебор значений
        For i As Integer = 0 To objlist.Count - 1
            Console.WriteLine(objlist(i))
        Next

            Console.ReadLine()
    End Sub

End Module

Здесь вначале создается объект коллекции через конструктор как объект любого другого класса: Dim objlist As New ArrayList(). При необходимости можно было бы так же инициализировать коллекцию начальными данными, например, Dim objlist As New ArrayList() From{1, 2, 5, "string", 7.7}

Затем последовательно добавляем различные значения. Данный класс коллекции, как и большинство других коллекций, имеет два способа добавления: одиночного объекта через метод Add и набора объектов - массива или другой коллекции через метод AddRange

Так как класс ArrayList применяет интерфейс IEnumerable, то мы можем перебрать все хранящиеся в списке объекты через цикл For Each. И поскольку данная коллекция хранит разнородные объекты, а не только числа или строки, то в качестве типа перебираемых объектов выбран тип Object: For Each item As Object In objlist

Класс ArrayList, как и большинство коллекций, реализует удаление с помощью методов Remove/RemoveAt. В данном примере мы удаляем первый элемент, передавая в метод RemoveAt индекс удаляемого элемента.

В конце программы опять же выводим элементы коллекции на экран только уже через обычный цикл For. В данном случае с перебором коллекций дело обстоит также, как и с массивами. А число элементов коллекции мы можем получить через свойство Count

С помощью индексатора мы можем получить по индексу элемент коллекции так же, как и в массивах: Dim firstObj As Object= objlist(0)

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850