Как мне объявить и инициализировать массив в Java?

1881
задан Peter Mortensen 21 May 2017 в 11:14
поделиться

7 ответов

Вы можете использовать либо объявление массива, либо литерал массива (но только тогда, когда вы объявляете и сразу влияете на переменную , литералы массива не могут использоваться для переназначения массива).

Для примитивных типов:

int[] myIntArray = new int[3];
int[] myIntArray = {1, 2, 3};
int[] myIntArray = new int[]{1, 2, 3};

Для классов, например String , то же самое:

String[] myStringArray = new String[3];
String[] myStringArray = {"a", "b", "c"};
String[] myStringArray = new String[]{"a", "b", "c"};

Третий способ инициализации полезен, когда вы сначала объявляете массив, а затем инициализируете его. Здесь необходимо приведение.

String[] myStringArray;
myStringArray = new String[]{"a", "b", "c"};
2563
ответ дан 22 November 2019 в 20:02
поделиться

Очень легко объявить и инициализировать массив. Например, Вы хотите сохранить пять целочисленных элементов, которые равняются 1, 2, 3, 4, и 5 в массиве. Можно сделать это следующим образом:

a)

int[] a = new int[5];

или

b)

int[] a = {1, 2, 3, 4, 5};

так основной шаблон для инициализации, и объявление методом a):

datatype[] arrayname = new datatype[requiredarraysize];

datatype должен быть в нижнем регистре.

, Таким образом, основной шаблон является для инициализации и объявления методом:

, Если это - массив строк:

String[] a = {"as", "asd", "ssd"};

, Если это - символьный массив:

char[] a = {'a', 's', 'w'};

Для плавания дважды, формат массива будет тем же как целое число.

, Например:

double[] a = {1.2, 1.3, 12.3};

, но когда Вы объявляете и инициализируете массив "методом", необходимо будет ввести значения вручную или циклом или чем-то.

, Но когда Вы делаете это "методом b", Вы не должны будете вводить значения вручную.

0
ответ дан 22 November 2019 в 20:02
поделиться

В качестве альтернативы,

// Either method works
String arrayName[] = new String[10];
String[] arrayName = new String[10];

объявляет массив с именем имя_массива размера 10 (у вас есть элементы с 0 по 9 для использования).

25
ответ дан 22 November 2019 в 20:02
поделиться

Кроме того, на случай, если вам нужно что-то более динамичное, есть интерфейс List. Это не сработает, но более гибко:

List<String> listOfString = new ArrayList<String>();

listOfString.add("foo");
listOfString.add("bar");

String value = listOfString.get(0);
assertEquals( value, "foo" );
25
ответ дан 22 November 2019 в 20:02
поделиться

Я считаю полезным, если вы понимаете каждую часть:

Type[] name = new Type[5];

Тип [] - это тип из переменной с именем name («имя» называется идентификатором ). Литерал «Тип» - это базовый тип, а скобки означают, что это тип массива этой базы. Типы массивов, в свою очередь, являются собственными типами, что позволяет создавать многомерные массивы, такие как Type [] [] (тип массива Type []). Ключевое слово new говорит о выделении памяти для нового массива. Число в скобках указывает, насколько большим будет новый массив и сколько памяти нужно выделить. Например, если Java знает, что базовый тип Type занимает 32 байта, а вам нужен массив размером 5, ему необходимо внутренне выделить 32 * 5 = 160 байтов.

Вы также можете создавать массивы с уже имеющимися значениями, например

int[] name = {1, 2, 3, 4, 5};

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

27
ответ дан 22 November 2019 в 20:02
поделиться

Существует несколько способов объявления массива в Java:

float floatArray[]; // Initialize later
int[] integerArray = new int[10];
String[] array = new String[] {"a", "b"};

Дополнительную информацию можно найти на сайте Sun tutorial и JavaDoc .

37
ответ дан 22 November 2019 в 20:02
поделиться
Type[] variableName = new Type[capacity];

Type[] variableName = {comma-delimited values};



Type variableName[] = new Type[capacity]; 

Type variableName[] = {comma-delimited values};

также допустимо, но я предпочитаю скобки после типа, потому что легче увидеть, что тип переменной на самом деле является массивом.

123
ответ дан 22 November 2019 в 20:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: