Презентация Коллекции и классы-прототипы. Обобщения онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Коллекции и классы-прототипы. Обобщения абсолютно бесплатно. Урок-презентация на эту тему содержит всего 25 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Коллекции и классы-прототипы. Обобщения
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:25 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:611.43 kB
- Просмотров:74
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№4 слайд
Содержание слайда: Свойства обобщений
Безопасность Обобщения автоматически обеспечивают типовую безопасность всех операций.
Повторное использование двоичного кода
"Разбухание" кода Поскольку определение обобщенного класса включается в сборку, создание на его основе конкретных классов специфических типов не приводит к дублированию кода в IL.
№6 слайд
Содержание слайда: Коллекции
В C# коллекция представляет собой совокупность объектов.
В среде .NET Framework имеется немало интерфейсов и классов, в которых определяются и реализуются различные типы коллекций.
Основной для большинства коллекций является реализация интерфейсов IEnumerable и IEnumerator. Благодаря такой реализации мы можем перебирать объекты в цикле foreach.
№7 слайд
Содержание слайда: Коллекции
Коллекции упрощают решение многих задач программирования благодаря тому, что предлагают готовые решения для создания целого ряда типичных, но порой трудоемких для разработки структур данных. Например, в среду .NET Framework встроены коллекции, предназначенные для поддержки динамических массивов, связных списков, стеков, очередей и хеш-таблиц. Коллекции являются современным технологическим средством, заслуживающим пристального внимания всех, кто программирует на C#.
Первоначально существовали только классы необобщенных коллекций. Но с внедрением обобщений в версии C# 2.0 среда .NET Framework была дополнена многими новыми обобщенными классами и интерфейсами. Благодаря введению обобщенных коллекций общее количество классов и интерфейсов удвоилось. Вместе с библиотекой распараллеливания задач (TPL) в версии 4.0 среды .NET Framework появился ряд новых классов коллекций, предназначенных для применения в тех случаях, когда доступ к коллекции осуществляется из нескольких потоков. Нетрудно догадаться, что прикладной интерфейс Collections API составляет значительную часть среды .NET Framework.
№8 слайд
Содержание слайда: Типы коллекций
Необобщенные коллекции Реализуют ряд основных структур данных, включая динамический массив, стек, очередь, а также словари, в которых можно хранить пары "ключ-значение". Классы и интерфейсы необобщенных коллекций находятся в пространстве имен System.Collections.
Специальные коллекции Оперируют данными конкретного типа или же делают это каким-то особым образом. Специальные коллекции объявляются в пространстве имен System.Collections.Specialized.
Поразрядная коллекция В прикладном интерфейсе Collections API определена одна коллекция с поразрядной организацией — это BitArray. Коллекция типа BitArray поддерживает поразрядные операции объявляется в пространстве имен System.Collections.
Обобщенные коллекции Обеспечивают обобщенную реализацию нескольких стандартных структур данных, включая связные списки, стеки, очереди и словари. Обобщенные коллекции объявляются в пространстве имен System.Collections.Generic.
Параллельные коллекции Поддерживают многопоточный доступ к коллекции. Это обобщенные коллекции, определенные в пространстве именSystem.Collections.Concurrent.
№9 слайд
Содержание слайда: Необобщенные коллекции
ICollection: является основой для всех необобщенных коллекций, определяет основные методы и свойства для всех необобщенных коллекций (например, метод CopyTo и свойство Count). Данный интерфейс унаследован от интерфейса IEnumerable, благодаря чему базовый интерфейс также реализуется всеми классами необобщенных коллекций
IList: позволяет получать элементы коллекции по порядку. Также определяет ряд методов для манипуляции элементами.
IComparer: определяет метод int Compare(object x, object y) для сравнения двух объектов
IDictionary: определяет поведение коллекции, при котором она должна хранить объекты в виде пар ключ-значение
IDictionaryEnumerator: определяет методы и свойства для перечислителя словаря
IEqualityComparer: определяет два метода Equals и GetHashCode, с помощью которых два объекта сравниваются на предмет равенства
IStructuralComparer: определяет метод Compare для структурного сравнения двух объектов: при таком сравнении сравниваются не ссылки на объекты, а непосредственное содержимое объектов
IStructuralEquatable: позволяет провести структурное равенство двух объектов. Как и в случае с интерфейсом IStructuralComparer сравнивается содержимое двух объектов
№10 слайд
Содержание слайда: Классы необобщенных коллекций
ArrayList: класс простой коллекции объектов. Реализует интерфейсы IList, ICollection, IEnumerable
BitArray: класс коллекции, содержащей массив битовых значений. Реализует интерфейсы ICollection, IEnumerable
Hashtable: класс коллекции, представляющей хэш-таблицу и храняющий набор пар "ключ-значение"
Queue: класс очереди объектов, работающей по алгоритму FIFO("первый вошел -первый вышел"). Реализует интерфейсы ICollection, IEnumerable
SortedList: класс коллекции, хранящей наборы пар "ключ-значение", отсортированных по ключу. Реализует интерфейсы ICollection, IDictionary, IEnumerable
Stack: класс стека
№12 слайд
Содержание слайда: Обобщенные коллекции
Классы обобщенных коллекций находятся в пространстве имен System.Collections.Generic.
Рассмотрим основные интерфейсы обобщенных коллекций:
IEnumerable<T>: определяет метод GetEnumerator, с помощью которого можно получать элементы любой коллекции
IEumerator<T>: определяет методы, с помощью которых потом можно получить содержимое коллекции по очереди
ICollection<T>: представляет ряд общих свойств и методов для всех необобщенных коллекций (например, методы CopyTo, Add, Remove, Contains, свойство Count)
IList<T>: предоставляет функционал для создания последовательных списков
IComparer<T>: определяет метод Compare для сравнения двух однотипных объектов
IDictionary<TKey, TValue>: определяет поведение коллекции, при котором она должна хранить объекты в виде пар ключ-значение
IEqualityComparer<T>: определяет методы, с помощью которых два однотипных объекта сравниваются на предмет равенства
№13 слайд
Содержание слайда: Классы обобщенных коллекций
Эти интерфейсы реализуются следующими классами коллекций в пространстве имен System.Collections.Generic:
List<T>: класс, представляющий последовательный список. Реализует интерфейсы IList<T>, ICollection<T>, IEnumerable<T>
Dictionary<TKey, TValue>: класс коллекции, хранящей наборы пар "ключ-значение". Реализует интерфейсы ICollection<T>, IEnumerable<T>, IDictionary<TKey, TValue>
LinkedList<T>: класс двухсвязанного списка. Реализует интерфейсы ICollection<T> и IEnumerable<T>
Queue<T>: класс очереди объектов, работающей по алгоритму FIFO("первый вошел -первый вышел"). Реализует интерфейсы ICollection, IEnumerable<T>
SortedSet<T>: класс отсортированной коллекции однотипных объектов. Реализует интерфейсы ICollection<T>, ISet<T>, IEnumerable<T>
SortedList<TKey, TValue>: класс коллекции, хранящей наборы пар "ключ-значение", отсортированных по ключу. Реализует интерфейсы ICollection<T>, IEnumerable<T>, IDictionary<TKey, TValue>
SortedDictionary<TKey, TValue>: класс коллекции, хранящей наборы пар "ключ-значение", отсортированных по ключу. В общем похож на класс SortedList<TKey, TValue>, основные отличия состоят лишь в использовании памяти и в скорости вставки и удаления
Stack<T>: класс стека однотипных объектов. Реализует интерфейсы ICollection<T> и IEnumerable<T>
№14 слайд
Содержание слайда: Список List<T>
Среди его методов можно выделить следующие:
void Add(T item): добавление нового элемента в список
void AddRange(ICollection collection): добавление с список коллекции или массива
int BinarySearch(T item): бинарный поиск элемента в списке. Если элемент найден, то метод возвращает индекс этого элемента в коллекции. При этом список должен быть отсортирован.
int IndexOf(T item): возвращает индекс первого вхождения элемента в списке
void Insert(int index, T item): вставляет элемент item в списке на позицию index
bool Remove(T item): удаляет элемент item из списка, и если удаление прошло успешно, то возвращает true
void RemoveAt(int index): удаление элемента по указанному индексу index
void Sort(): сортировка списка
№15 слайд
Содержание слайда: Двухсвязный список LinkedList<T>
Класс LinkedList<T> представляет двухсвязный список, в котором каждый элемент хранит ссылку одновременно на следующий и на предыдущий элемент.
Если в простом списке List<T> каждый элемент представляет объект типа T, то в LinkedList<T> каждый узел представляет объект класса LinkedListNode<T>. Этот класс имеет следующие свойства:
Value: само значение узла, представленное типом T
Next: ссылка на следующий элемент типа LinkedListNode<T> в списке. Если следующий элемент отсутствует, то имеет значение null
Previous: ссылка на предыдущий элемент типа LinkedListNode<T> в списке. Если предыдущий элемент отсутствует, то имеет значение null
№16 слайд
Содержание слайда: Двухсвязный список LinkedList<T>
Используя методы класса LinkedList<T>, можно обращаться к различным элементам, как в конце, так и в начале списка:
AddAfter(LinkedListNode<T> node, T value): вставляет в список новый узел со значением value после узла node.
AddBefore(LinkedListNode<T> node, T value): вставляет в список новый узел со значением value перед узлом node.
AddFirst(T value): вставляет новый узел со значением value в начало списка
AddLast(T value): вставляет новый узел со значением value в конец списка
RemoveFirst(): удаляет первый узел из списка. После этого новым первым узлом становится узел, следующий за удаленным
RemoveLast(): удаляет последний узел из списка
№19 слайд
Содержание слайда: Очередь Queue<T>
Queue<int> numbers = new Queue<int>();
numbers.Enqueue(3); // очередь 3
numbers.Enqueue(5); // очередь 3, 5
numbers.Enqueue(8); // очередь 3, 5, 8
// получаем первый элемент очереди
int queueElement = numbers.Dequeue(); //теперь очередь 5, 8
Console.WriteLine(queueElement);
№20 слайд
Содержание слайда: Коллекция Stack<T>
В классе Stack можно выделить два основных метода, которые позволяют управлять элементами:
Push: добавляет элемент в стек на первое место
Pop: извлекает и возвращает первый элемент из стека
Peek: просто возвращает первый элемент из стека без его удаления
№21 слайд
Содержание слайда: Коллекция Stack<T>
Stack<int> numbers = new Stack<int>();
numbers.Push(3); // в стеке 3
numbers.Push(5); // в стеке 5, 3
numbers.Push(8); // в стеке 8, 5, 3
// так как вверху стека будет находиться число 8, то оно и извлекается
int stackElement = numbers.Pop(); // в стеке 5, 3
Console.WriteLine(stackElement);
№22 слайд
Содержание слайда: Коллекция Dictionary<T, V>
Словарь хранит объекты, которые представляют пару ключ-значение. Каждый такой объект является объектом класса KeyValuePair<TKey, TValue>. Благодаря свойствам Key и Value, которые есть у данного класса, мы можем получить ключ и значение элемента в словаре.
Класс словарей также, как и другие коллекции, предоставляет методы Add и Remove для добавления и удаления элементов. Только в случае словарей в метод Add передаются два параметра: ключ и значение. А метод Remove удаляет не по индексу, а по ключу.
№23 слайд
Содержание слайда: Коллекция Dictionary<T, V>
Dictionary<int, string> countries = new Dictionary<int, string>(5);
countries.Add(1, "Russia");
countries.Add(3, "Great Britain");
countries.Add(2, "USA");
countries.Add(4, "France");
countries.Add(5, "China");
foreach (KeyValuePair<int, string> keyValue in countries)
{
Console.WriteLine(keyValue.Key + " - " + keyValue.Value);
}
№24 слайд
Содержание слайда: Коллекция Dictionary<T, V>
Dictionary<int, string> countries = new Dictionary<int, string>(5);
countries.Add(1, "Russia");
countries.Add(3, "Great Britain");
countries.Add(2, "USA");
countries.Add(4, "France");
countries.Add(5, "China");
foreach (KeyValuePair<int, string> keyValue in countries)
{
Console.WriteLine(keyValue.Key + " - " + keyValue.Value);
}
№25 слайд
Содержание слайда: Коллекция Dictionary<T, V>
Dictionary<char, Person> people = new Dictionary<char, Person>();
people.Add('b', new Person() { Name = "Bill" });
people.Add('t', new Person() { Name = "Tom" });
people.Add('j', new Person() { Name = "John" });
foreach (KeyValuePair<char, Person> keyValue in people)
{
// keyValue.Value представляет класс Person
Console.WriteLine(keyValue.Key + " - " + keyValue.Value.Name);
}
Скачать все slide презентации Коллекции и классы-прототипы. Обобщения одним архивом:
-
Классы обобщенных коллекций
-
Язык программирования JAVA. Классы коллекций
-
Необобщенные коллекции
-
Циклические алгоритмы. 9 класс
-
Язык разметки гипертекста HTML. 8 класс
-
Нелинейные алгоритмы. Язык программирования Паскаль. 8 класс
-
Основные конструкции языка программирования. Турбо Паскаль (тестирование). 10 -11 класс
-
Классификация структур данных. Лекция 2
-
Классификация машинных команд
-
Информационные модели на графах. 7 класс