Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая_работа_Курдюмовой_Татьяны_Игоревной_2И...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
488.66 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное

учреждение высшего профессионального образования

«Комсомольский-на-Амуре государственный

технический университет»

Факультет компьютерный технологий

Кафедра МОП ЭВМ

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту

по дисциплине «Технологии программирования»

Коллекции

Студент группы 2ИСб-1 _________________ Т.И. Курдюмова

подпись, дата

Руководитель проекта _________________ С.Ю. Александров

подпись, дата

Нормоконтролёр _________________ С.Ю. Александров

подпись, дата

2014

Содержание

Содержание 3

Введение 5

1 Коллекции в .Net 6

1.1 Виды коллекций 6

1.2 Интерфейсы, используемые коллекциями 9

2 Необобщенные коллекции 17

3 Обобщенные коллекции 20

3.1 Основные обобщенные коллекции 22

4 Параллельные коллекции 38

5 Специальные и наблюдаемые коллекции 41

5.1 Специальные коллекции 41

5.2 Наблюдаемые коллекции 42

6 Битовые коллекции 44

6.1 Класс BitArray 44

6.2 Структура BitVector32 46

7 Реализация интерфейса IComparable 48

8 Реализация интерфейса IComparer 50

9 Перечислители 52

9.1 Применение обычного перечислителя 53

9.2 Применение перечислителя типа IDictionaryEnumerator 54

9.3 Реализация интерфейсов IEnumerable и IEnumerator 54

10 Итераторы и оператор yield 56

10.1 Именованный итератор 59

Заключение 61

Список использованных источников 62

ПРИЛОЖЕНИЕ А 63

Введение

Коллекция это совокупность объектов, с которыми можно совершать различные действия. Если требуется снизить трудоемкость разработки структур данных именно коллекции приходят на помощь.

Элементы объединяют в коллекции по какому-либо признаку и потом используют их. Это нужно для того, чтобы не приходилось писать код для каждого элемента отдельно. Ведь можно написать один блок, который будет управлять всеми элементами сразу.

Элементы в коллекциях можно изменять, их можно удалять, а также добавлять новые. Размерность коллекций при этом изменяется автоматически, поэтому ее не нужно переопределять, что значительно облегчает работу. В этой работе я рассмотрю основные виды и типы коллекций, а также интерфейсы, используемые коллекциями. Приведу примеры использования коллекций и правила их реализации.

  1. Коллекции в .Net

В .NET коллекция представляет собой объект. Даже самый примитивный массив является объектом. Массив можно создать, у него есть методы и свойства, и как все другие классы, он является ссылочным типом. [1]

Ниже представлен пример использования простой коллекции. Сначала создается список строк, а затем просматриваются строки с помощью оператора foreach. [1]

Рассмотрим виды и типы коллекций.

  1. Виды коллекций

Коллекция – некоторая конечная совокупность объектов, с которой можно совершать те или иные действия. Так, обычно по отношению к коллекции можно осуществлять перебор ее элементов. Физические реализации коллекций могут быть совершенно разными. Во Framework Class Library (FCL) коллекции в основном размещаются в пространстве имен System.Collections. Их список приведен в таблице 1. [1]

Таблица 1.1 – Коллекции, доступные в .NET Framework

Тип коллекции

Назначение

Встроенные массивы

Обычные массивы, поддерживаемые CLR (Common Language Runtim) напрямую. В совестимых с CLR языках они являются полноценными объектами.

Продолжение таблицы 1.1

ArrayList

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

Hashtable

Реализует абстракцию «словарь» (Dictionary, коллекцию пар «ключ-значение») на основе алгоритма хэш-таблицы.

SortedList

Реализация абстракции словаря и списка на базе сортированного массива.

Stack

Реализует абстракцию «стек» – коллекцию, позволяющую осуществлять доступ к элементам по принципу FILO (First In – Last Out, первым пришел – последним ушел). В качестве хранилища используется массив.

Queue

Реализует абстракцию «очередь» – коллекцию, позволяющую осуществлять доступ к элементам по принципу FIFO (First In – First Out, первым пришел – первым ушел). В качестве хранилища используется массив.

BitArray

Позволяет создавать битовые массивы и управлять ими.

В .NET Framework массив не относится к числу коллекций, хотя по своему предназначению массивы тоже являются коллекциями. Массивы отделены от коллекций потому, что они поддерживаются средой исполнения непосредственно. [1]