Найти в Дзене
Коллекции в программировании

Коллекции в программировании

Обзор классов коллекций
подборка · 8 материалов
216 читали · 4 года назад
Введение в язык PHP #3: Коллекции
Предыдущие части: Переменные, строки и среда исполнения, Введение в PHP Как можно заметить, я не описываю язык от и до. В этом нет смысла, так как для любого языка есть документация, которую нужно просто прочитать. Я делаю акценты на некоторых особенностях, и на том, что нам понадобится в дальнейшем. А понадобятся нам, конечно же, коллекции. Что это такое, и для чего используется, я подробно описывал в отдельном цикле. Какие типы коллекций есть в PHP? Отвечать на этот вопрос легко и приятно: в PHP есть ровно один тип коллекций, и это ассоциативный массив. Давайте вспомним, что такое массив. Это область памяти, последовательно заполненная элементами...
331 читали · 4 года назад
Коллекции, часть 6: Хеш-таблицы
Хеш-таблицы могут использоваться как самостоятельные коллекции для хранения данных, но в основном они используются как вспомогательные инструменты для быстрого поиска данных в других коллекциях.
173 читали · 5 лет назад
Коллекции, часть 6: Деревья
Вот мы и добрались до деревьев – одного из самых важных и сложных типов коллекций. Готовых классов коллекций-деревьев среди разных языков я не нашел (может, плохо искал), но во-первых, они присутствуют как внутренние реализации других коллекций, а во-вторых, реализацию можно написать самостоятельно. Итак, дерево – это развитие идеи связного списка. Если в списке каждый элемент имеет только одного "потомка", то в дереве каждый элемент может иметь несколько "потомков", которые существуют параллельно друг другу...
235 читали · 5 лет назад
Коллекции, часть 5: Списки и связные списки
Другие части: массивы, итераторы, множества, ассоциативные массивы, деревья После того, как изучены массивы, про списки особо сказать и нечего: это упорядоченные... ну да, списки элементов. Если мы посмотрим на массивы, то увидим, что это тоже упорядоченные списки элементов. В чём тогда разница между списком и массивом? Строго говоря, в классическом массиве нельзя удалять или добавлять элементы, особенно если добавление/удаление происходит где-то в середине массива. А вот в списке – как раз можно...
321 читали · 5 лет назад
Коллекции, часть 4: Ассоциативные массивы
Другие части: массивы, итераторы, множества, списки, деревья Один из самых распространённых и важных типов коллекций называется по-английски map, или карта. Нормального русского эквивалента почему-то нет. Словом "карта" никто не пользуется, где-то используют мерзкую кальку "мапа", а если по-правильному, по-академически, то это ассоциативный массив – слишком неудобное название. Что же из себя представляет карта? Она ставит в соответствие одно значение другому, или ассоциирует их друг с другом. Поэтому и называется – ассоциативный массив. Ещё один способ описать эту связь – функция, заданная на множестве (если вам нравится матанализ)...
153 читали · 5 лет назад
Коллекции, часть 3: Множества
Другие части: массивы, итераторы, списки, ассоциативные массивы, деревья На самом деле мы уже изучили всё, что можно хотеть от коллекций. В современном массиве можно хранить какие угодно данные с какими угодно ключами, а итератор даёт возможность перебирать эти данные. Для чего существуют другие типы коллекций, чего нам не хватает? Это не очень простой вопрос. В целом – некоторые типы коллекций просто удобнее для соответствующих задач, а их внутренняя реализация может быть более эффективна (требует меньше памяти, работает быстрее и т...