Массивы и коллекции являются наиболее используемым способом хранения данных в виде списков в программировании. Узнайте, каковы их плюсы и минусы!
Что такое массив?
Массив — это структура данных, которая используется для хранения набора элементов одного типа.
Это последовательность значений, где каждое значение идентифицируется индексом, который является неотрицательным целым числом (обычно начиная с 0).
Они являются базовым типом многих языков программирования и обычно используются для хранения значений, к которым необходимо получить доступ и управлять ими согласованным и эффективным образом.
Вот пример использования массива в PHP.
$numbers = [1, 2, 3, 4, 5]; $firstNumber = $numbers[0]; $lastNumber = $numbers[count($numbers) - 1]; // Print each element and its index foreach ($numbers as $index => $number) { echo 'Index: ' . $index; echo 'Value: ' . $number; } // Add an element to the end of the array $numbers[] = 6;
Как насчет коллекций?
В отличие от массивов, коллекции предоставляют множество полезных методов для управления группами объектов, таких как добавление, удаление и поиск объектов, тогда как простые массивы (или списки) могут не предоставлять столько встроенных методов для управления их элементами.
Вот базовая реализация коллекции, мы могли бы добавить много методов, таких как pop
, shift
, first
, count
и многие другие, но сейчас они нам не нужны.
Вот как можно использовать эту коллекцию:
$myCollection = new Collection(); $myCollection->add('apple') ->add('banana') ->add('cherry'); // Search the elements by using a callable $result = $myCollection->search(function (string $element) { return $element === 'banana'; }); // Get the elements of the Collection as an array $elements = $myCollection->toArray();
Какой вариант лучше всего подходит для моего варианта использования?
Ну, на самом деле это зависит.
Если вам нужно хранить список элементов, чтобы выполнять итерацию по ним и что-то вычислять из них, вам, вероятно, не нужна коллекция.
Однако, если вам нужно хранить значения, по которым вы можете выполнять поиск или выполнять функции, добавлять или удалять определенные элементы… Реализация коллекции, вероятно, является хорошей идеей!
Кроме того, коллекцию можно использовать повторно. В каком-то смысле это следует принципу СУХОЙ (не повторяйтесь)!
Надеюсь, теперь вы лучше понимаете ключевые различия между массивами/списками и коллекциями.
Если вам нравится мой контент и вы хотите узнать больше, посмотрите другие мои посты, возможно, вы найдете что-то интересное…
Также, если вы хотите поддержать меня, подпишитесь на мой аккаунт!
Я в основном пишу о программировании и технике в целом.
Хорошего дня 🎉