Презентация на тему: Класс Hashtable

Класс Hashtable
Класс Hashtable
Типизированные массивы
Типизированные массивы
Типизированные массивы
Типизированные массивы
1/6
Средняя оценка: 4.5/5 (всего оценок: 8)
Код скопирован в буфер обмена
Скачать (75 Кб)
1

Первый слайд презентации: Класс Hashtable

Хеширование – необратимое преобразование данных. Класс Hashtable обеспечивает работу с парой списков: списком ключей и списком значений. Элементы списка ключей используются для доступа к элементам списка значений (пример – поиск по ключевому слову, хеш-тегу ). Список ключей хранится в свойстве Keys данного класса, а список значений – в свойстве Values. Класс Hashtable предоставляет возможность работы с каждым из указанных списков в отдельности. Заполнение хеш-таблицы осуществляется при помощи метода Add(), параметрами которого являются ключ и соответствующее ему значение ( могут являться объектами любого класса, поскольку имеют тип Object ).

Изображение слайда
2

Слайд 2: Класс Hashtable

Пример работы с классом Hashtable : Hashtable h = new Hashtable () ; h.Add ( "Иван Иванов", new Person( "Иван", "Иванов" ) ) ; h.Add ( "Петр Петров", new Person( "Петр", "Петров" ) ) ; h.Add ( "Семен Сидоров", new Person( "Семен", "Сидоров" ) ) ; / / Выводим фамилии персон из списка значений foreach (Person p in h.Values ) Console.WriteLine ( p.LastName ); / / Выводим список пар «ключ – значение» foreach (Object k in h.Keys ) { Person p = (Person) h [ k ] ; Console.WriteLine ( "Ключ: " + k + ", значение: " + p ); }

Изображение слайда
3

Слайд 3: Типизированные массивы

Массивы-списки из классов ArrayList, Queue, Stack, Hashtable позволяют хранить данные любого типа (экземпляры класса Object ). Это требует осторожности при работе с элементами массива-списка, поскольку некорректное приведение типов может вызвать ошибку работы программы. Если заранее известно, что список должен хранить объекты определённого типа, то лучше воспользоваться возможностями типизированных массивов. В этом случае работа с элементами массива упрощается, поскольку исчезает необходимость их приведения к заданному типу, а система получает возможность отслеживать корректность программного кода. Типизированные массивы могут быть объявлены при помощи следующих классов: List – однонаправленный список (текущий элемент списка содержит ссылку на следующий за ним элемент). LinkedList – двунаправленный список (текущий элемент списка содержит ссылки на предыдущий и следующий за ним элементы). Queue – классическая очередь (из элементов одного типа). Stack – классический стек (из элементов одного типа).

Изображение слайда
4

Слайд 4: Типизированные массивы

Объявление переменной типизированного массива-списка: КлассСписка < ТипЭлементов > ИмяПеременнойСписка ; Классом списка может выступать любой из классов List, LinkedList, Queue и Stack. В качестве типа элементов списка может быть выбран любой известный тип данных (в том числе пользовательский класс). После объявления переменную списка следует инициализировать: ИмяПеременнойСписка = new КлассСписка < ТипЭлементов > () ;

Изображение слайда
5

Слайд 5: Типизированные массивы

Пример работы с типизированным массивом: List < Person > arr = new List < Person > () ; arr.Add ( new Person( "Иван", "Иванов" ) ) ; arr.Add ( new Person( "Петр", "Петров" ) ) ; arr.Add ( new Person( "Семен", "Сидоров" ) ) ; arr [ 2 ]. FirstName = "Станислав" ; / / Меняем имя персоны / / Выводим фамилии персон из списка значений foreach (Person p in arr ) Console. WriteLine ( p.FirstName + " " + p.LastName ) ;

Изображение слайда
6

Последний слайд презентации: Класс Hashtable: Типизированные массивы

Из привед ё нного примера видно, что приведение типов при работе с элементами типизированного массива не требуется, поскольку тип элементов был объявлен заранее при создании списка. В результате компилятор получает возможность отслеживать корректность работы с памятью и для следующей строки выдаст ошибку: arr.Add ( "Иван Иванов" ) ; / / Ошибка Замечание. Допускается добавление в типизированный массив наследников основного класса (в нашем примере это объекты, классы которых являются потомками класса Person ). Попробуем поменять в нашем примере тип элементов массива: List < Object > arr = new List < Object > () ; В этом случае возникнет ошибка в строке: arr [ 2 ]. FirstName = "Станислав" ; / / Ошибка Ошибку можно исправить приведением элемента к типу Person : ( (Person ) arr [ 2 ] ). FirstName = "Станислав" ;

Изображение слайда