Технология Microsoft ADO.NET

       

Класс ArrayList


Класс ArrayList, подобно классу Hashtable, определенный в пространстве имен System.Collections, представляет собой один из чрезвычайно простых и удобных способов работы с наборами элементов. Объекты этого класса не имеют фиксированного размера и при необходимости могут менять его. Объект ArrayList при своем создании резервирует место в памяти для 16 элементов - указателей на тип object. При добавлении семнадцатого элемента размерность ArrayList увеличивается до 32 элементов. Обращение к объектам осуществляется аналогично обращению к элементам массива. Создайте новое консольное приложение, назовите его "ClassArrayList". В таблице 9.2 приводится полный его листинг:

Таблица 9.2. Приложение ClassArrayList

Листинг приложения ClassArrayList Результат работы приложения (рис. 9.21)
using System; using System.Collections;

namespace ClassArrayList { class Class1 {

[STAThread] static void Main(string[] args) { ArrayList ar = new ArrayList(); ar.Add("A"); ar.Add("AB"); ar.Add("ABC"); ar.Add("ABCD"); ar.Add("ABCDE"); ar.Add("ABCDEF"); ar.Add("ABCDEFG"); ar.Add("ABCDEFGH"); ar.Add(""); ar.Add("");

Console.WriteLine("Вывод элементов массива:\n"); foreach (object element in ar) { Console.WriteLine(element); } ar.Remove("ABCD"); Console.WriteLine("Удаление элемента:\n"); foreach (object element in ar) { Console.WriteLine(element); } ar.Insert(6, "XYZ"); Console.WriteLine("Вставка элемента \n на заданную позицию:\n"); foreach (object element in ar) { Console.WriteLine(element); } ar.Clear(); Console.WriteLine("Удаление всех элементов:\n"); foreach (object element in ar) { Console.WriteLine(element); } } } }

Из рис. 9.21 видно, что элементами ArrayList могут быть любые значения, поскольку он содержит в себе указатели на тип object. Для возвращения значений из массива необходимо осуществлять явное преобразование типов.

В программном обеспечении к курсу вы найдете приложение ClassArray List (Code\Glava4\ ClassArrayList).

  1)

  Дополнительные сведения о классе ArrayList см. в конце лекции.

Содержание раздела