Высокоуровневые методы информатики и программирования. Тузовский А.Ф. - 107 стр.

UptoLike

Составители: 

107
ArrayList al = new ArrayList();
al.AddRange(new string[] { "Привет", "мир", "это",
"проверка" });
al.Sort(new reverseSort()); //передаем свой IComparer
foreach (object s in al)
Console.Write(s.ToString() + " ");
Этот код выдаст следующий результат:
это проверка Привет мир
Для получения обратного порядка элементов в ArrayList ис-
пользуется метод ArrayList.Reverse(). Для поиска конкретного
элемента в ArrayList нужно вызвать метод BinarySearch и пере-
дать ему экземпляр объекта, который ищется. Метод BinarySearch
вернет индекс найденного объекта. Если объект не будет найден, то ре-
зультатом будет -1. Приведенный ниже пример выводит значение 2, так
как строка “это” находится на третьей позиции, а первая позиция имеет
значение 0:
ArrayList al = new ArrayList();
al.AddRange(new string[] {"Привет", "Мир", "это",
"проверка"});
Console.WriteLine(al.BinarySearch("это"));
Аналогично, метод Contains() класса ArrayList возвращает
значение true, если в коллекции ArrayList содержится указанный
объект, и значение false, если этого объекта в коллекции нет.
7.1.2. Коллекции Queue и Stack
Классы Queue(очередь) и Stack(стек) хранят объекты, которые
могут быть получены и удалены за один шаг. Очереди используют по-
рядок обработки FIFO, а Stack использует последовательность обра-
ботки LIFO.
Класс Queue использует методы Enqueue и Dequeue для добав-
ления и удаления объектов, а класс Stack использует для этого методы
Push и Pop.
Следующий пример показывает различие между классами:
Queue q = new Queue();
q.Enqueue("Привет");
q.Enqueue("мир");
q.Enqueue("просто тестирование");
Console.WriteLine("Использование Queue:");
for (int i = 1; i <= 3; i++)
Console.WriteLine(q.Dequeue().ToString());
Stack s = new Stack();
s.Push("Привет");