Подтвердить что ты не робот

Сохраняет ли инициализированный массив его порядок?

Скажем, что я инициализирую массив следующим образом:

int[] anArray = { 
    100, 200, 300,
    400, 500, 600, 
    700, 800, 900, 1000
};

Гарантируется ли, что элементы всегда будут вставлены в том же порядке, который я набрал при инициализации? Например: 100,200,300,400,500,600,700,...,1000?

4b9b3361

Ответ 1

Да, это гарантируется спецификацией (см. JLS 10.6):

Инициализаторы переменных, непосредственно заключенные в фигурные скобки Затем инициализатор массива выполняется слева направо в текстовом порядок их возникновения в исходном коде. N-й переменный инициализатор задает значение n-1-го массива.

Ответ 2

Короткий ответ: Да, если вы его инициализируете так, они будут в порядке, как инициализировано.

См. JLS об этом:

Инициализаторы переменных, немедленно заключенные в фигурные скобки инициализатора массива, затем выполняются слева направо в текстовом порядке, который они имеют в исходном коде. Инициализатор n'th переменной задает значение n-1-го массива

https://docs.oracle.com/javase/specs/jls/se8/html/jls-10.html#jls-10.6

Ответ 3

Гарантировано ли, что элементы будут всегда вставлены в том же порядке, который я набрал при инициализации?

Да

Ответ 4

ДА!

Код, который вы опубликовали, идентичен этому:

int[] anArray = { 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 };

Что это значит, создайте array of integers, где 100 переходит в положение 0, 200 в положение 1, 300 в положение 2, 400 в положение 3 и т.д.

Это работает одинаково для каждого массива каждый раз!

Ответ 5

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