Содержание
- 2. ОБОБЩЕННЫЕ КОЛЛЕКЦИИ Пространство имен System.Collections .Generic содержит большое число классов обобщенных коллекций На основе интерфейсов, реализуемых
- 3. ОБОБЩЕННЫЕ ИНТЕРФЕЙСЫ
- 4. ОБОБЩЕННЫЕ ИНТЕРФЕЙСЫ
- 5. СПИСКИ Обобщенный класс List предназначен для работы с динамическими списками Этот класс реализует необобщенные интерфейсы IList,
- 6. ЕМКОСТЬ И РАЗМЕР СПИСКА Емкостью списка называется число элементов, которые потенциально могут быть размещены в пределах
- 7. СОЗДАНИЕ СПИСКА Класс List имеет три конструктора: public List () – конструктор по умолчанию, создающий пустой
- 8. ЗАПОЛНЕНИЕ СПИСКА Производится путем последовательного добавления в него новых элементов в конец списка Если список создан
- 9. ЗАПОЛНЕНИЕ СПИСКА По мере заполнения списка его размер приближается к его емкости Когда размер списка становится
- 10. ИНИЦИАЛИЗАЦИЯ СПИСКА Первоначальное заполнение списка можно выполнять с помощью инициализаторов коллекций Синтаксис инициализаторов коллекций подобен инициализаторам
- 11. ДОБАВЛЕНИЕ В ЗАДАННУЮ ПОЗИЦИЮ Для добавления нового элемента в произвольное место списка класс List имеет два
- 12. ДОСТУП К ЭЛЕМЕНТАМ Все классы, реализующие интерфейсы IList и IList , предоставляют индексатор Поэтому к элементам
- 13. ДОСТУП К ЭЛЕМЕНТАМ Поскольку List реализует интерфейс IEnumerable, проход по элементам коллекции можно также осуществлять с
- 14. ДЕЛЕГАТЫ Делегаты в языке C# – это аналоги указателей функций языка C++ Причины замены указателей функций
- 15. ОБЪЯВЛЕНИЕ УКАЗАТЕЛЕЙ ФУНКЦИЙ В отличие от обычных указателей указатели функций связываются не только с типом, которым
- 16. ОБЪЯВЛЕНИЕ УКАЗАТЕЛЕЙ ФУНКЦИЙ Например: double (*fptr) (int, double) является указателем на функцию с двумя параметрами целого
- 17. УКАЗАТЕЛИ ФУНКЦИЙ Например: double myFunc (int, double); double x, y; int n; cin >> n >>
- 18. ОБЪЯВЛЕНИЕ ДЕЛЕГАТА Делегаты являются объектами – экземплярами класса, создаваемого средой .Net на основании объявления класса делегата,
- 19. ОБЪЯВЛЕНИЕ ДЕЛЕГАТА Следует обратить внимание на то, что при объявлении класса делегата указывается не сигнатура, а
- 20. ПРИМЕНЕНИЕ ДЕЛЕГАТА Как и указатели функций экземпляры класса- делегата (делегаты) получают значения через присваивание имен методов
- 21. ДОСТУП К ЭЛЕМЕНТАМ Этот делегат объявлен в классе List следующим образом: public delegate void Action (T
- 22. УДАЛЕНИЕ ЭЛЕМЕНТОВ Элементы списка можно удалять двумя способами: с указанием значения удаляемого элемента, с указанием индекса
- 23. УДАЛЕНИЕ ЭЛЕМЕНТОВ Во втором случае используется метод: public void RemoveAt(int) Метод RemoveRange (int, int) удаляет множество
- 24. УДАЛЕНИЕ ЭЛЕМЕНТОВ Чтобы удалить из коллекции все элементы, удовлетворяющие некоторому условию нужно использовать метод RemoveAll (Predicate
- 25. ПОИСК ЭЛЕМЕНТОВ Для поиска элементов в списке можно использовать целый ряд методов Одним из параметров всех
- 26. МЕТОДЫ ПОИСКА
- 27. ПОИСК ЭЛЕМЕНТОВ Еще одним методом поиска является метод public int IndexOf (T) Этот метод имеет в
- 28. МЕТОДЫ СОРТИРОВКИ Класс List позволяет сортировать свои элементы с помощью метода Sort (), в котором реализован
- 29. ИНТЕРФЕЙС ICOMPARABLE Необобщенный интерфейс IComparable объявляет единственный метод CompareTo(object), который указывает, находится ли текущий экземпляр в
- 30. ИНТЕРФЕЙС ICOMPARABLE Реализация метода CompareTo должна возвращать значение типа Int32, которое имеет значение: больше 0, если
- 31. МЕТОД SORT(ICOMPARER ) Если сортировка должна быть выполнена способом, отличным от поддерживаемого по умолчанию типом элементов,
- 32. ИНТЕРФЕЙС ICOMPARER Обобщенный интерфейс IComparer объявляет единственный метод int Compare(Т х, Т у) Этот метод часто
- 33. МЕТОД SORT(COMPARISON ) Другой способ сортировки состоит в применении перегруженного метода сортировки с параметром-делегатом Comparison
- 34. ДЕЛЕГАТ COMPARISON Comparison представляет собой делегат метода, принимающего два параметра типа Т и возвращающего тип int
- 35. ДЕЛЕГАТ COMPARISON При вызове метода Sort в качестве аргумента может быть указано имя любой функции, соответствующей
- 36. ОЧЕРЕДИ Очередь (queue) — это коллекция, в которой элементы обрабатываются по схеме "первый вошел, первый вышел"
- 37. ОЧЕРЕДИ Интерфейс ICollection не реализован, поскольку он определяет методы Add () и Remove (), которые не
- 38. ПРОСТАЯ ОЧЕРЕДЬ
- 39. СОЗДАНИЕ ОЧЕРЕДИ Подобно List класс Queue имеет три конструктора: public Queue () – конструктор по умолчанию,
- 40. СОЗДАНИЕ ОЧЕРЕДИ По мере добавления элементов емкость очереди при необходимости удваивается Отметим, что конструктор по умолчанию
- 41. МЕТОДЫ КЛАССА QUEUE Класс Queue содержит свойство для чтения Count(), возвращающее количество элементов в очереди
- 42. СТЕКИ Стек (stack) — это коллекция, работающая по принципу "последний вошел, первый вышел" (last in, first
- 43. ПРОСТОЙ СТЕК
- 44. МЕТОДЫ КЛАССА STACK Класс Stack содержит свойство для чтения Count(), возвращающее количество элементов в стеке
- 45. МНОЖЕСТВА Коллекция, содержащаяся только отличающиеся элементы, называется множеством (set) Множества реализуются обобщенным классом HashSet , реализующим
- 46. КОНСТРУКТОРЫ МНОЖЕСТВ Класс коллекции HashSet имеет несколько перегрузок конструктора, в том числе: public HashSet ( )
- 47. КОНСТРУКТОРЫ МНОЖЕСТВ public HashSet (IEqualityComparer ) – конструктор создающий пустое множество и использующий указанный компаратор для
- 48. МЕТОДЫ КЛАССА HASHSET
- 49. СЛОВАРИ Словарь (dictionary) представляет собой сложную структуру данных, позволяющую обеспечить доступ к элементам по ключу Под
- 50. СЛОВАРИ В основе такого поиска лежит использование механизма индексации – сопоставления каждому элементу целого значения, называемого
- 51. ПРИМЕР СЛОВАРЯ
- 52. ХЕШ-ФУНКЦИИ Индексация в словарях отличается от индексации в массивах тем, что индекс элемента является целочисленной функцией
- 53. КОЛЛИЗИИ При всех известных способах построения хеш-функций возникают ситуации, называемые коллизиями, когда для двух различных значений
- 54. ТИП КЛЮЧА Тип, используемый в качестве ключа словаря, должен переопределять метод GetHashCode () класса Object Всякий
- 55. ТИП КЛЮЧА Поскольку разные ключи могут возвращать один и тот же хеш-код, метод Equals () используется
- 56. КОНСТРУКТОРЫ СЛОВАРЯ Класс коллекции Dictionary имеет несколько перегрузок конструктора, в том числе: public Dictionary ( )
- 57. КОНСТРУКТОРЫ СЛОВАРЯ public Dictionary (IEqualityComparer ) – конструктор создающий пустой словарь и использующий указанный компаратор для
- 58. МЕТОДЫ КЛАССА DICTIONARY
- 60. Скачать презентацию