-------------------------------
Класс List
В классе List
реализуется обобщенный динамический массив. Он ничем принципиально не отличается от класса необобщенной коллекции ArrayList
. В этом классе реализуются интерфейсы ICollection, ICollection, IList, IList, IEnumerable
и IEnumerable
. У класса List
имеются следующие конструкторы.
public List()
public List(IEnumerable collection)
public List(int capacity)
Первый конструктор создает пустую коллекцию класса List
с выбираемой по умолчанию первоначальной емкостью. Второй конструктор создает коллекцию типа List
с количеством инициализируемых элементов, которое определяется параметром collection и равно первоначальной емкости массива. Третий конструктор создает коллекцию типа List
, имеющую первоначальную емкость, задаваемую параметром capacity . В данном случае емкость обозначает размер базового массива, используемого для хранения элементов коллекции. Емкость коллекции, создаваемой в виде динамического массива, может увеличиваться автоматически по мере добавления в нее элементов.
В классе List
определяется ряд собственных методов, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Некоторые из наиболее часто используемых методов этого класса перечислены в табл. 25.15.
Таблица 25.15. Наиболее часто используемые методы, определенные в классе List
Метод -Описание
public virtual void AddRange(Icollection collection) - Добавляет элементы из коллекции collection в конец вызывающей коллекции типа ArrayList
public virtual int BinarySearch(T item) - Выполняет поиск в вызывающей коллекции значения, задаваемого параметром item. Возвращает индекс совпавшего элемента. Если искомое значение не найдено, возвращается отрицательное значение. Вызывающий список должен быть отсортирован
public int BinarySearch(T item, IComparer comparer) - Выполняет поиск в вызывающей коллекции значения, задаваемого параметром item , используя для сравнения указанный способ, определяемый параметром comparer. Возвращает индекс совпавшего элемента. Если искомое значение не найдено, возвращается отрицательное значение. Вызывающий список должен быть отсортирован
public int BinarySearch(int index, int count, T item, IComparer comparer) - Выполняет поиск в вызывающей коллекции значения, задаваемого параметром item , используя для сравнения указанный способ, определяемый параметром comparer. Поиск начинается с элемента, указываемого по индексу index, и включает количество элементов, определяемых параметром count. Метод возвращает индекс совпавшего элемента. Если искомое значение не найдено, возвращается отрицательное значение. Вызывающий список должен быть отсортирован
public List GetRange(int index, int count) - Возвращает часть вызывающей коллекции. Часть возвращаемой коллекции начинается с элемента, указываемого по индексу index , и включает количество элементов, задаваемое параметром count. Возвращаемый объект ссылается на те же элементы, что и вызывающий объект
public int IndexOf(T item) - Возвращает индекс первого вхождения элемента item в вызывающей коллекции. Если искомый элемент не обнаружен, возвращается значение -1
public void InsertRange(int index, IEnumerable collection) - Вставляет элементы коллекции collection в вызывающую коллекцию, начиная с элемента, указываемого по индексу index
public int LastlndexOf(T item) - Возвращает индекс последнего вхождения элемента item в вызывающей коллекции. Если искомый элемент не обнаружен, возвращается значение -1
public void RemoveRange(int index, int count) - Удаляет часть вызывающей коллекции, начиная с элемента, указываемого по индексу index , и включая количество элементов, определяемое параметром count
public void Reverse() -Располагает элементы вызывающей коллекции в обратном порядке
public void Reverse(int index, int count) - Располагает в обратном порядке часть вызывающей коллекции, начиная с элемента, указываемого по индексу index , и включая количество элементов, определяемое параметром count
public void Sort() -Сортирует вызывающую коллекцию по нарастающей
public void Sort(IComparer comparer) - Сортирует вызывающую коллекцию, используя для сравнения способ, задаваемый параметром comparer. Если параметр comparer имеет пустое значение, то для сравнения используется способ, выбираемый по умолчанию
Читать дальше