Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Екзамен з комп. арх..doc
Скачиваний:
4
Добавлен:
17.09.2019
Размер:
449.02 Кб
Скачать

19. Колекція ArrayList. Методи та властивості. Переваги та недоліки використання.

Клас ArrayList призначений для підтримки динамічних масивів, які при необхідності можуть збільшуватись чи зменшуватись. Об’єкт класу ArrayList являє собою масив змінної довжини, елементами якого є об’єктні посилання. Будь-який об’єкт класу ArrayList створюється з деяким початковим розміром. При перевищенні цього розміру колекція автоматично його збільшує. У випадку видалення об’єктів масив можна скоротити. За замовченням колекція ArrayList не синхронізована. Щоб помістити колекцію в синхронізовану оболонку, треба викликати метод Synchronized().

Методи та властивості:

AddRange - Добавляет элементы интерфейса ICollection в конец списка ArrayList.

BinarySearch(Object) - Выполняет поиск элемента по всему отсортированному списку ArrayList, используя компаратор по умолчанию, и возвращает индекс (с нуля) этого элемента .

CopyTo(Array) - Копирует весь список ArrayList в совместимый одномерный массив Array, начиная с начального элемента целевого массива.

GetRange - Возвращает список ArrayList, представляющий подмножество элементов исходного списка ArrayList.

InsertRange - Вставляет элементы коллекции в список ArrayList по указанному индексу.

LastIndexOf(Object) - Осуществляет поиск указанного индекса Object и возвращает индекс (с нуля) последнего вхождения в списке ArrayList.

ReadOnly(ArrayList) - Возвращает оболочку списка ArrayList, доступную только для чтения.

RemoveRange - Удаляет диапазон элементов из списка ArrayList.

Reverse() - Изменяет порядок элементов во всем списке ArrayList на обратный.

SetRange - Копирует элементы коллекции в диапазон элементов списка ArrayList.

Sort() - Сортирует элементы во всем списке ArrayList.

Sort(IComparer) - Сортирует элементы во всем списке ArrayList с помощью указанного компаратора.

ToArray() - Копирует элементы списка ArrayList в новый массив Object.

TrimToSize - Задает значение емкости, равное фактическому количеству элементов в списке ArrayList.

Переваги:

- можливість динамічної зміни довжини; - висока швидкість доступу за індексом;

- висока швидкість додавання та вилучення елементів з кінця;

- можливість зберігання різних типів.

Недоліки:

- постійне приведення типів;

- зниження швидкодії при збереженні типів-значень;

- низька швидкість при додаванні/вилученні всередину (не в кінець);

- необхідність перезаймання пам’яті при перевищенні ємності.

20. Колекції Stack та Queue. Методи та властивості.

Stack<T> - класс

Представляет коллекцию переменного размера экземпляров того же произвольного типа, имеющую тип "последним пришел - первым вышел" (LIFO).

Свойства

Count - Получает число элементов, содержащихся в коллекции Stack<T>.

Clear - Удаляет все объекты из Stack<T>.

Contains - Определяет, находится ли элемент в Stack<T>.

CopyTo - Копирует элементы класса Stack<T> в существующий одномерный массив класса Array, начиная с указанного индекса массива.

Equals(Object) - Определяет, равен ли заданный объект Object текущему объекту Object. (Унаследовано от Object.)

Finalize - Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)

GetEnumerator - Возвращает перечислитель для коллекции Stack<T>.

GetHashCode - Играет роль хэш-функции для определенного типа. (Унаследовано от Object.)

GetType - Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)

MemberwiseClone - Создает неполную копию текущего объекта Object. (Унаследовано от Object.)

Peek - Возвращает самый верхний объект Stack<T>, но не удаляет его.

Pop - Удаляет и возвращает объект из верхней части Stack<T>.

Push - Вставляет объект в верхнюю часть Stack<T>.

ToArray - Копирует элементы Stack<T> в новый массив.

ToString - Возвращение строки, представляющей текущий объект. (Унаследовано от Object.)

TrimExcess - Устанавливает емкость равной фактическому количеству элементов в Stack<T>, если это количество составляет менее 90 процентов текущей емкости.

Queue<T> Class

Представляє собою коллекцію типу “FIFO”. Методи і властивості в цілому схожі, ті що відрізняються – приведені нижче.

Свойства

Count - Gets the number of elements contained in the Queue<T>.

Методы

Dequeue - Removes and returns the object at the beginning of the Queue<T>.

Enqueue - Adds an object to the end of the Queue<T>.

Peek - Возвращает обьект из начала очереди, НО НЕ удаляет кго

ToArray - Копирует элементы очереди в массив.

TrimExcess - Устанавливает емкость равной фактическому количеству элементов в Queue<T>, если это количество составляет менее 90 процентов текущей емкости.