Длина массива в Java
я объявил массив, как показано ниже:
int[] arr = new int[10];
затем я присвоил массиву следующие значения:
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
затем я объявить и инициализировать переменную типа integer:
int arrayLength = arr.length;
Это будет полезно, чтобы найти фактический размер, но есть ли способ найти логический размер массива?
13 ответов:
Он содержит выделенный размер,
10
. Неназначенные индексы будут содержать значение по умолчанию0
наint
.
в первую очередь
length
Это свойство, так что было быarr.length
вместоarr.length()
.и он вернет 10, объявленный размер. Элементы, которые не объявляются явно, инициализируются с помощью 0.
найти длину массива
A
вы должны использоватьlength
собственность. Это какA.length
, Не используйтеA.length()
его в основном используется для размера строки связанных объектов.свойство length всегда будет показывать общее выделенное место для проживания во время инициализации.
если у вас когда-либо были какие-либо из этих проблем, простой способ-запустить его. Счастливого Программирования!
массивы являются статическим выделением памяти, поэтому если вы инициализируете массив целых чисел:
int[] intArray = new int[15];
длина будет всегда 15, независимо от того, сколько индексов заполнены.
и еще одно, когда вы инициализируете массив целых чисел,все индексы будут заполнены "0".
в этом случае, arr.длина вернет 10, размер массива, который вы выделили. Логический размер на самом деле не применяется здесь, так как это массив фиксированной длины.
при инициализации массива:
int[] arr = new int[10];
Java создаст массив из 10 элементов и инициализирует их все до 0. Смотрите спецификация языка Java для получения подробной информации о начальных значениях для этого и других примитивных типов.
в Java ваш "фактический" и "логический" размер одинаковы. Время выполнения заполняет все слоты массива значениями по умолчанию при выделении. Итак, ваш
a
содержится 10.
'
int array[]=новый int[3]; массив.длина;
Итак, здесь мы создали массив с объемом памяти 3... вот как это выглядит на самом деле
0-й 1-й 2-й ...........> Индекс 2 4 5 ...........> Номер
Так как вы видите, что размер этого массива равен 3, но индекс массива только до 2, так как любой массив начинается с 0-го индекса.
второй оператор' выход должен быть 3, так как длина массива это 3... Пожалуйста, не путайте между значением индекса и длиной массива....
ура!
Он будет содержать фактический размер массива, потому что вы инициализировали массив, чтобы быть, когда вы объявили его. Java не имеет понятия о "логическом" размере массива, поскольку это касается значения по умолчанию 0 так же логично, как и значения, которые вы установили вручную.
содержит выделенный размер, 10. Остальные индексы будут содержать значение по умолчанию составляет 0.
Если вы хотите логический размер массива, вы можете пройти все значения в массиве и проверить их против нуля. Увеличьте значение, если оно не равно нулю, и это будет логический размер. Поскольку размер массива фиксирован, у вас нет встроенного метода, возможно, вам следует взглянуть на коллекции.
массивы Java фактически фиксированы по размеру, и другие ответы объясняют, как это сделать .длина на самом деле не делает то, что вы ожидаете. Я просто хотел бы добавить, что, учитывая ваш вопрос, что вы можете использовать, это ArrayList, то есть массив, который может расти и сжиматься:
https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
здесь .метод size () покажет вам количество элементов в вашем списке, и вы можете увеличить его по мере добавления вещи.