Рубрики
Без рубрики

Массивы в Java

Если вы использовали язык, похожий на Ruby или JavaScript, массивы увеличиваются и уменьшаются по мере необходимости…. Помеченный java.

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

В Java, когда вы объявляете массив, вы также должны объявить тип массива, который вы хотите. Это означает, что, в отличие от других языков, вы не можете иметь несколько типов данных в одном массиве. Массив может содержать только тот тип информации, который вы задаете при объявлении. Это означает, что вы не можете иметь массив со строкой, целым числом и логическим значением в одном массиве.

int[] arryInt; //declaration only
String[] strArr;

Также в Java, когда вы создаете массив, он устанавливается на ту длину, которую вы задали при создании. Вы можете сделать это двумя способами: вы можете установить длину или создать ее с необходимой вам исходной информацией. Вы не можете сделать его больше или меньше после его создания, основываясь на ваших данных. Как только длина будет установлена в массиве, это будет длина этого массива для всей программы. Скажем, например, у вас есть массив, длина которого равна 10, но в нем хранится только 8 чисел, оставшиеся 2 индекса все равно будут содержать целое число, по умолчанию оно будет равно 0. Так что это было бы прекрасно, если бы у нас был фиксированный набор данных.

int[] intArr = new int[5];   //this declares and creates intArr 
                               with a length of 5
String nameArr = { Sam, Becky, Vincent, Katie }; 

В Java первым индексом массива является индекс 0. В Java, если у вас есть массив длиной 10, последний индекс будет равен 9. Когда вы добавляете элемент в массив, вы просто добавляете его в определенный индекс, куда вы хотите поместить информацию. Если в нашем коде мы затем попытаемся добавить элемент в индекс 10, мы получим ошибку IndexOutOfBounds, потому что, хотя есть 10 индексов, последний индекс равен 9, потому что мы начинаем с 0. Аналогично, чтобы получить или использовать информацию из массива, мы бы просто использовали индекс в массиве, где хранится информация.

int arrInt = new int[10];
arrInt[0] = 200;
arrInt[3] = 43; 
arrInt[10] = 30;  //IndexOutOfBounds error no index 10

int x = arrInt[3];  //would assign 43 to x

Список массивов

Что произойдет, если нам нужен массив, но мы не знаем, сколько индексов? Нам может понадобиться 1 или 2, или нам может понадобиться 1000. Возможно, нам потребуется добавить или удалить индекс в зависимости от нашей информации и того, как она меняется. Ну, мы могли бы установить в массиве максимальное количество индексов, которые, как мы знаем, нам понадобятся; что заняло бы большой объем памяти, некоторые из которых мы, возможно, даже никогда не используем. Решение этой проблемы заключается в том, что мы могли бы использовать ArrayList. ArrayList является частью пакета java.util.

import java.util.ArrayList

Подобно обычному массиву, он по-прежнему может содержать только один тип данных. Элементы в ArrayList на самом деле являются объектами, поэтому нам нужно использовать класс-оболочку для каждого типа данных; например, вместо int нам нужно использовать Integer. Чем он отличается, так это тем, что может расти и уменьшаться по мере необходимости. Скажем, нам нужен был массив имен. Мы можем добавлять имена в список, используя .address () метод. Если нам не нужно имя в списке, мы также можем удалить его с помощью .remove().

ArrayList students = new ArrayList;
student.add("Jimmy");
student.add("Sarah");
student.add("Rick");

student.remove(1);  //this would remove the student at index 1 
                   which would be Sarah resizing our index to 2

Есть и другие методы, которые мы также можем использовать для ArrayList. Метод .set() позволяет нам установить информацию в ArrayList по определенному индексу. Метод .clear() полностью очищает ArrayList. Функция .size() вернет размер ArrayList, аналогичный методу, который вы используете для массива. Вы также можете использовать .add () для вставки элемента по определенному индексу.

ArrayList students = new ArrayList;
student.add("Jimmy");
student.add("Sarah");
student.add("Rick");

student.set(1, "Ruby");   //this would change Sarah to Ruby
student.add(1, "Sarah");  // this inserts Sarah into index 1 
                          above Ruby

student.size();          //this would return 4 

student.clear();         //this empties the ArrayList

Хотя это кратко, это должно помочь вам получить представление об основах массивов и ArrayList и о том, как их использовать в Java.

Оригинал: “https://dev.to/jmhill91/arrays-in-java-4mma”