Работа со структурами данных в Java

{title}

В какой-то момент в нашем развитии как создателей программного обеспечения мы столкнемся с ситуациями, в которых мы должны делать гораздо более сложные вещи в наших программах, как правило, это приводит к более сложному управлению данными и другой их организации.
Структура данных

Для этого у нас есть структуры данных, которые позволяют нам упорядочить нашу информацию в рамках программы, чтобы получить к ним упорядоченный и схематичный доступ. В Java мы можем обрабатывать различные типы структур благодаря их стандартным классам и библиотекам, поэтому, если мы узнаем, какие из них у нас есть, возможно, мы сможем воспользоваться необходимыми преимуществами и, таким образом, достичь наших целей.

Структурирование данных с помощью массивов


Массив - это тип структуры, который имеет линейную конформацию и может хранить некоторое количество данных того же типа. Данные, которые вы можете хранить, представляют собой примитивные типы, такие как int, bool и т. Д. Но вы также можете хранить типы объектов, хотя в этом случае хранится ссылка на объект, а не объект как таковой, однако это очень полезно знать.
доступ

Будучи линейным, доступ к его содержимому должен выполняться последовательно, хотя мы можем напрямую указывать на его индекс и получать его содержимое, маршрут в большинстве случаев, который мы можем сделать для этой структуры, реагирует на последовательность их индексы
Когда у нас есть индекс на элемент, это массив или одномерный вектор, но когда у нас есть более одного индекса на элемент, мы говорим о многомерных массивах, то есть внутри индекса у нас есть внутренняя структура со своими собственными индексами.

Объявить массив


Объявление массива очень просто, нам нужно только определить тип данных для хранения и указать размеры в квадратных скобках, затем мы должны определить его имя, и с этим мы можем начать его использовать.
Хотя существует несколько способов объявления массива, предпочтительным является краткая форма, как мы видим ниже:
 тип [] nameArrary = новый тип [длина]; 

В случае многомерного массива мы можем сделать то же самое, но добавив новые слои или измерения в одном выражении, например:
Двумерный массив:
 тип [] [] nameArrary = новый тип [длина] [длина]; 

Массив трех измерений:
 тип [] [] [] nameArrary = новый тип [длина] [длина] [длина]; 

Единственное, что мы должны иметь в виду, это то, что после трех измерений все становится намного сложнее, но это будет продиктовано нашими потребностями во время разработки программы.

Просмотреть массив


Чтобы пройти через массив, мы должны использовать некоторые из доступных итеративных циклов, причем этот цикл является одним из предпочтительных, поскольку мы можем указать размер массива и пройти через каждый из его элементов.
Мы должны иметь в виду, что индексы массивов начинаются с нуля, поэтому в массиве из трех элементов их индексы будут [0], [1], [2], это необходимо учитывать, поскольку Традиционный счет может привести к путанице.
Общий пример того, как пройти массив, выглядит примерно так:
 для (int i = 0; i 
Таким же образом, как в этом небольшом примере мы сделали трафаретную печать содержимого соответствующего индекса, мы также можем выполнять последовательные присваивания и другие операции с массивом. В случае многомерного массива мы должны циклически проходить через каждое из имеющихся у нас измерений, поэтому мы говорим о том, что после более чем трех измерений массив становится очень сложным.

Функциональный пример


Мы создадим небольшой код, в котором мы определим массив, затем пройдемся по его элементам и покажем их на экране. Давайте посмотрим, как выглядит наш код:
 public class Example Array1 {public static void main (String [] argv) {int [] our Array = new int [12]; for (int i = 0; i <12; i ++) {наш массив [i] = i + 1; System.out.println ("Содержимое массива в: [" + i + "] равно:" + ourArray [i]); } System.out.println («Общая длина массива равна:» + ourArray.length); }} 

В этой программе первое, что мы делаем после определения нашего класса и метода main, это определение массива типа int с нашим именем Array, которому мы присваиваем длину 12 элементов, затем с циклом for, который идет от 0 до 11, мы назначим значение для каждого из индексов массива, после того, как мы это сделаем, мы немедленно выводим его значение и, наконец, используем свойство длины массива, которое позволяет нам получить его общую длину и вывести его одинаково.
Если мы увидим это внутри нашей консоли при выполнении программы, мы получим следующее:


Как мы видим, мы получаем строку для каждого элемента массива и последнюю строку, которая указывает на его реальный размер, мы также замечаем, что если мы посчитаем от 0 до 11, у нас будет 12 элементов, поэтому он показывает, что мы объясняем об индексах массива.

Коллекции


Использование массивов очень популярно и очень полезно, однако бывают случаи, когда вы начинаете видеть его ограничения, особенно когда мы работаем с очень динамичными структурами, когда мы не знаем, сколько элементов у нас будет в конце и где нам нужно немного больше функциональности, кроме итерации, чтобы пройти его элементы.
Когда мы обнаруживаем необходимость более сложной обработки данных, мы можем перейти к коллекциям, которые представляют собой не более чем ряд классов, сгруппированных в стандартной библиотеке Java java.util, и которые позволяют нам создавать другие типы структур. данных.
В этом случае мы собираемся немного изучить класс ArrayList, который позволяет нам создавать списки массивов, как следует из названия, но для манипулирования их элементами нам нужно делать это с помощью их различных методов.

Доступные методы в ArrayList


Ниже приведен небольшой список наиболее важных методов, доступных в классе ArrayList, и того, что нам может понадобиться создавать наши программы, если нам нужно что-то дополнительное, мы всегда можем использовать документацию на официальном языке.
добавить ()

Этот метод позволяет нам добавить элемент в список либо в конце, либо в определенной позиции, это определяется передачей параметров.
очистить ()

Очистите структуру, удалив или очистив все содержащиеся в ней элементы.
получить ()

Возвращает значение указанного индекса рассматриваемого списка.
удалить ()

Этот метод позволяет нам удалить конкретный элемент из структуры данных.
toArray ()

Этот метод позволяет нам преобразовывать массив содержимого списка или структуры данных.

Объявить список


Чтобы объявить список с ArrayList, мы должны просто создать экземпляр этого класса, с этим мы можем начать работать над назначением элементов и контента, для этого мы можем увидеть следующий синтаксис:
 ArrayList ourList = new ArrayList (); 

Хотя мы также можем использовать объявление и одновременное присвоение элементов, как мы видим в следующей строке кода:
 List ourList = Arrays.asList ("Педро", "Хуан", "Мануэль"); 

Прокрутите список


Обзор нашего списка может быть выполнен с помощью итерационного цикла с for (), который мы уже видели в массивах, разница в том, что, поскольку мы не знаем наверняка, сколько элементов в наших списках, мы должны определить предел, используя размер ( ) и для получения содержимого в данном индексе мы используем метод get (). Пример синтаксиса для этого тура может быть следующим:
 для (int i = 0; i 

Практический пример


Теперь мы собираемся создать небольшую программу, в которой мы можем применить на практике то, что мы видели о ArrayList, и таким образом определить изучение этой структуры данных:
 import java.util.ArrayList; открытый класс ExampleList1 {открытый статический void main (String [] argv) {ArrayList ourList = new ArrayList (); NuestroLista.add ("Педро"); NuestraLista.add ("Хуан"); NuestroLista.add ("Франциско"); ourList.add ("Manolo"); NuestraLista.add ("Пабло"); для (int i = 0; i 
В этом коде мы видим, что в первую очередь мы импортируем класс ArrayList из пакета java.util, если мы этого не сделаем, мы не сможем его использовать.
Затем мы определили новый список элементов String, затем мы будем популяризировать этот список с помощью метода add (), поскольку мы видим, что мы не определили предел элементов, этот список будет динамически расти по мере добавления к нему элементов.
Наконец, с циклом for () и использованием метода size () нашего готового объекта, мы просматриваем его элементы и для получения значения каждой позиции используем метод get (), чтобы мы могли распечатать содержимое. Давайте посмотрим, как это выглядит, когда мы запускаем его на нашей консоли:



На этом мы завершили этот урок, мы уже научились создавать и работать со структурами данных в Java, что позволит нам создавать более сложные приложения и программы, отвечающие нашим потребностям.