Вступление
В этом руководстве мы рассмотрим, как объявлять и инициализировать массивы в Java .
Мы объявляем массив в Java, как и другие переменные, путем указания типа и имени:
int[] myArray;
Чтобы инициализировать или создать экземпляр массива, как мы его объявляем, то есть мы присваиваем значения, как при создании массива, мы можем использовать следующий сокращенный синтаксис:
int[] myArray = {13, 14, 15};
Или вы можете сгенерировать поток значений и вернуть его в массив:
int[] intArray = IntStream.range(1, 11).toArray();
int[] intArray = IntStream.rangeClosed(1, 10).toArray();
int[] intArray = IntStream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).toArray();
Чтобы понять, как это работает, прочтите дополнительную информацию о тонкостях объявления и создания экземпляров массивов!
- Объявление массива в Java
- Инициализация массива в Java
- IntStream.range ()
- IntStream.rangeClosed ()
- IntStream.of ()
- Инициализация цикла массива Java
Объявление массива в Java
Объявление объекта массива в Java следует той же логике, что и
объявление переменной Java. Мы идентифицируем тип данных элементов
массива и имя переменной, добавляя прямоугольные скобки []
для
обозначения ее массива.
Вот два действительных способа объявить массив:
int intArray[];
int[] intArray;
Второй вариант часто предпочтительнее, поскольку он более четко
обозначает тип intArray
.
Обратите внимание, что мы создали только ссылку на массив. Для массива не выделена память, так как размер неизвестен, и мы мало что можем с этим поделать.
Инициализация массива в Java
Чтобы использовать массив, мы можем инициализировать его new
, за
которым следует тип данных нашего массива и прямоугольные скобки,
содержащие его размер:
int[] intArray = new int[10];
Это выделяет память для массива размером 10
. Этот размер неизменен.
Java заполняет наш массив значениями по умолчанию в зависимости от типа
элемента - 0
для целых чисел, false
для логических значений, null
для объектов и т. Д. Давайте посмотрим, как мы можем создать экземпляр
массива со значениями, которые нам нужны.
Медленный способ инициализировать ваш массив значениями, отличными от значений по умолчанию, - это назначать значения одно за другим:
int[] intArray = new int[10];
intArray[0] = 22;
В этом случае вы объявили объект целочисленного массива, содержащий 10 элементов, поэтому вы можете инициализировать каждый элемент, используя его значение индекса.
Наиболее распространенная и удобная стратегия - объявить и
инициализировать массив одновременно с фигурными скобками {}
содержащими элементы нашего массива.
Следующий код инициализирует целочисленный массив с тремя элементами - 13, 14 и 15:
int intArray[] = {13, 14, 15};
Имейте в виду, что размером объекта массива будет количество элементов, которые вы укажете в фигурных скобках. Следовательно, этот объект массива имеет размер три.
Этот метод работает и с объектами. Если бы мы хотели инициализировать массив из трех строк, мы бы сделали это так:
int[] stringArray = {"zelda", "link", "ganon"};
Java также позволяет инициализировать массив с помощью ключевого слова
new
int[] intArray = new int[]{13, 14, 15};
int[] stringArray = new String[]{"zelda", "link", "ganon"};
Работает так же.
Примечание . Если вы создаете метод, который возвращает
инициализированный массив, вам придется использовать new
с фигурными
скобками. При возврате массива в методе одни фигурные скобки не
работают:
public String[] getNames() {
return new String[]{"zelda", "link", "ganon"}; // Works
}
public String[] getNames() {
return {"zelda", "link", "ganon"}; // Doesn't work
}
IntStream.range ()
Если вы объявляете и инициализируете массив целых чисел, вы можете
использовать интерфейс Java IntStream
int[] intArray = IntStream.range(1, 11).toArray();
Приведенный выше код создает массив из десяти целых чисел, содержащих числа от 1 до 10:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Интерфейс IntStream
имеет range()
который принимает начало и конец
нашей последовательности в качестве параметров. Имейте в виду, что
второй параметр не включен, а первый включен.
Затем мы используем метод toArray()
чтобы преобразовать его в массив.
Примечание. IntStream
- это лишь один из немногих классов, которые
можно использовать для создания диапазонов. Вы можете также использовать
DoubleStream
или LongStream
в любом из вместо этих примеров.
IntStream.rangeClosed ()
Если вы хотите переопределить эту характеристику и включить последний
элемент, вместо этого IntStream.rangeClosed()
int[] intArray = IntStream.rangeClosed(1, 10).toArray();
Это дает массив из десяти целых чисел от 1 до 10:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
IntStream.of ()
Метод IntStream.of()
работает очень похоже на объявление массива с
некоторым заданным количеством значений, например:
int[] intArray = new int[]{6, 2, 4, 5, 7};
Здесь мы указываем элементы в вызове of()
int[] intArray = IntStream.of(6, 2, 4, 5, 7).toArray();
Это создает массив с сохраненным порядком элементов:
[6, 2, 4, 5, 7]
Или вы даже можете вызвать для этого метод sorted()
, чтобы
отсортировать массив по мере его инициализации:
int[] intArray = IntStream.of(6, 2, 4, 5, 7).sorted().toArray();
В результате получается массив с таким порядком элементов:
[2, 4, 5, 6, 7]
Инициализация цикла массива Java
Один из самых мощных методов, который вы можете использовать для
инициализации вашего массива, включает использование for
для его
инициализации некоторыми значениями.
Давайте воспользуемся циклом для инициализации целочисленного массива значениями от 0 до 9:
int[] intAray = new int[10];
for (int i = 0; i < intArray.length; i++) {
int_array[i] = i;
}
Это идентично любому из следующих более коротких вариантов:
int[] intArray = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int[] intArray = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int[] intArray = IntStream.rangeClosed(0, 9).toArray();
Цикл более идеален, чем другие методы, когда у вас более сложная логика для определения значения элемента массива.
Например, с помощью for
мы можем делать такие вещи, как создание
элементов с четными индексами в два раза больше:
int[] intArray = new int[10];
for (int i = 0; i < intArray.length; i++) {
if (i % 2 == 0) {
int_array[i] = i * 2;
} else {
int_array[i] = i;
}
}
Заключение
В этой статье мы обнаружили различные способы и методы, которыми вы
можете следовать для объявления и инициализации массива в Java. Мы
использовали фигурные скобки {}
, ключевое слово new
for
для
инициализации массивов в Java, так что у вас есть много вариантов для
различных ситуаций!
Мы также рассмотрели несколько способов использования IntStream
для
заполнения массивов диапазонами элементов.