Ассоциативный массив

Ассоциативный массив (словарь) — структура данных, массив, идентификаторами элементов которого являются не только целые числа, но и данные других типов (обычно строки). Идентификаторы обычно называются ключами. В отличие от индексного массива отсутствует строгая упорядоченность элементов. Обычные массивы могут рассматриваться как частный случай словаря, где ключ — это целое число

Поддержка ассоциативных массивов есть во многих интерпретируемых языках программирования высокого уровня (Perl, PHP, Ruby и др.). В языке C++ поддержка ассоциативных массивов включена в стандартную библиотеку (контейнер map).

Содержание

Достоинства

  • наглядность, удобство для человека, возможность присвоить каждому элементу осмысленный идентификатор
  • лёгкость добавления или удаления элементов, так как в общем случае не требуется изменения позиций других

Недостатки

  • дополнительный расход памяти на идентификаторы (даже если они хранятся в виде хеша)
  • сложность поиска элемента по ключу
  • сложность создания оптимизированных компиляторов для языка, в котором существует понятие ассоциативного массива

Пример

Python

 d1 = dict( a=10, b=20 )
 d2 = {'a':10, 'b':20 }
 d1[100] = 123
 d2['c'] = 321

Здесь были показаны два способа создания словаря, а также продемонстрирован тот факт, что ключом может быть объект любого типа. Добавление нового объекта в словарь-хранилище не требует в динамических языках (которым является и Python) никаких предварительных действий: если под таким ключом ничто не хранилось — теперь будет, если же хранилось — оно будет перезаписано. (Подробнее см. Python Tutorial, Dictionaries)

На Python весьма просто можно написать свой класс, который будет вести себя подобно словарю. Для этого необходимо лишь определить в своем классе соответствующие методы (см. Python Reference Manual, Emulating container types). Для расширения базовых свойств типа словарь, необходимо наследовать свой класс от соответствующего типа словаря (types.DictType)

 

Видео:

Associative Array Introduction
This is an introduction slideshow lecture explaining associative arrays.
Beginner JavaScript Tutorial - 35 - Associative Arrays
Visit my website at https://www.thenewboston.com/ for all of my videos and tutorials! Have questions or looking for source code? Check out the forum at https...
PHP Tutorial - 11 - Associative Arrays
Visit my website at https://www.thenewboston.com/ for all of my videos and tutorials! Have questions or looking for source code? Check out the forum at https...
Associative Arrays and Hash Tables: Part 1
This lecture is delivered by Prof. Michael Rieck. This is the first part and covers associative arrays and hash tables. An associative array is used like an ...
Ассоциативные массивы [PHP - Урок 14]
ВИДЕО-УРОКИ PHP: Всё, что нужно знать о PHP. Самостоятельное обучение от простого к сложному. PHP - это мощный инструмент для создания сайтов любой сложности.
Beginner PHP Tutorial - 39 - Associative Arrays
Visit my website at https://www.thenewboston.com/ for all of my videos and tutorials! Have questions or looking for source code? Check out the forum at https...
PHP Programming - Associative Arrays
I talk about accessing and setting data elements in an associative array, sorting arrays while maintaining associativity, getting a list of keys and values f...
Associative Arrays [#13] Code Dynamic Websites with PHP
Lecture 13: Associative Arrays Remember how PHP automatically assigns a number to each item in an array? Well, using Associative Arrays you can give a custom...
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home