Длина массива в Java

Я объявил массив, как показано ниже:

int[] arr = new int[10];

Затем я присвоил массиву следующие значения:

arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;

Затем я объявил и инициализировал целочисленную переменную:

int arrayLength = arr.length;

Это будет полезно для определения фактического размера, но есть ли способ найти логический размер массива?

69 голосов | спросил Kiran Bhat 6 Jpm1000000pmFri, 06 Jan 2012 13:33:12 +040012 2012, 13:33:12

14 ответов


0

Прежде всего, length является свойством, поэтому это будет arr.length вместо arr.length().

И он вернет 10, заявленный размер. Элементы, которые вы не объявляете явно, инициализируются с 0.

ответил Costi Ciudatu 6 Jpm1000000pmFri, 06 Jan 2012 13:35:51 +040012 2012, 13:35:51
0

Чтобы узнать длину массива A, используйте length свойство. Это как A.length, не используйте A.length() в основном используется для размера объектов, связанных со строками.

 введите описание изображения здесь

Свойство length всегда показывает общее выделенное пространство для массива во время инициализации.

Если у вас возникнут какие-либо проблемы подобного рода, просто запустите их. Удачного программирования!

ответил Ravi Pandey 5 AM00000060000004031 2016, 06:34:40
0

Массивы - это статическое распределение памяти, поэтому, если вы инициализируете массив целых чисел:

int[] intArray = new int[15];

Длина будет всегда 15, независимо от того, сколько индексов заполнено.

И еще одна вещь, когда вы инициализируете массив целых чисел, все индексы будут заполнены "0".

ответил Ramon Saraiva 6 Jpm1000000pmFri, 06 Jan 2012 13:43:53 +040012 2012, 13:43:53
0

В этом случае arr.length вернет 10, размер выделенного вами массива. Логический размер здесь не применим, так как это массив фиксированной длины.

Когда вы инициализируете массив:

int[] arr = new int[10];

Java создаст массив из 10 элементов и инициализирует все из них до 0. См. Спецификация языка Java для получения подробных сведений о начальных значениях для этого и других примитивных типов.

ответил Tom Elliott 6 Jpm1000000pmFri, 06 Jan 2012 13:44:11 +040012 2012, 13:44:11
0

В Java ваш «фактический» и «логический» размер совпадают. Во время выполнения все слоты массива заполняются значениями по умолчанию при выделении. Итак, ваш a содержит 10.

ответил Dirk 6 Jpm1000000pmFri, 06 Jan 2012 13:34:55 +040012 2012, 13:34:55
0

`

  

int array [] = new int [3]; Array.length;

Итак, мы создали массив с объемом памяти 3 ... вот как это выглядит на самом деле

0й 1й 2й ...........> Индекс 2 4 5 ...........> Число

Итак, как вы видите, размер этого массива равен 3, но индекс массива - только до 2, поскольку любой массив начинается с 0-го индекса.

второй оператор 'output должен быть равен 3, поскольку длина массива равна 3 ... Пожалуйста, не путайте значение индекса с длиной массива ....

ура!

ответил Ayush Murty A H 7 Jpm1000000pmThu, 07 Jan 2016 18:40:15 +030016 2016, 18:40:15
0

Он будет содержать фактический размер массива, так как это то, что вы инициализировали массив, когда он был объявлен. В Java нет понятия «логического» размера массива, поскольку в этом случае значение по умолчанию 0 так же логично, как и значения, которые вы установили вручную.

ответил Turix 6 Jpm1000000pmFri, 06 Jan 2012 13:55:53 +040012 2012, 13:55:53
0

Он содержит выделенный размер, 10. Остальные индексы будут содержать значение по умолчанию, равное 0.

ответил Nikhil Kumar 20 AMpMon, 20 Apr 2015 11:05:36 +030005Monday 2015, 11:05:36
0

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

ответил Struse 2 Jam1000000amSat, 02 Jan 2016 01:24:27 +030016 2016, 01:24:27
0

Должно быть:

int a = arr.length;

Скобки следует избегать.

ответил Godlu 18 PMpThu, 18 Apr 2013 22:43:32 +040043Thursday 2013, 22:43:32
0

Java-массивы на самом деле имеют фиксированный размер, а другие ответы объясняют, что .length на самом деле не делает то, что вы ожидаете. Я просто хотел бы добавить, что с учетом вашего вопроса вы, возможно, захотите использовать ArrayList, массив, который может увеличиваться и уменьшаться:

https://docs.oracle.com /javase/8/docs/api/java/util/ArrayList.html

Здесь метод .size () покажет вам количество элементов в вашем списке, и вы можете увеличивать его по мере добавления.

ответил draxil 27 J0000006Europe/Moscow 2018, 14:05:07
0

если вы подразумеваете под «логическим размером» индекс массива, то просто     int arrayLength = arr.length-1; поскольку индекс массива начинается с «0», то логический или «индекс массива» всегда будет меньше фактического размера на «один».

ответил Salah 6 +03002018-10-06T08:29:04+03:00312018bEurope/MoscowSat, 06 Oct 2018 08:29:04 +0300 2018, 08:29:04
0
  int arr[]={4,7,2,21321,657,12321};
  int length =arr.length;
  System.out.println(length); // will return 6

  int arr2[] = new int[10];
   arr2[3] = 4;
  int length2 =arr2.length;
  System.out.println(length2); // // will return 10. all other digits will be 0 initialize because staic memory initialization
ответил alok 23 +03002018-10-23T07:50:50+03:00312018bEurope/MoscowTue, 23 Oct 2018 07:50:50 +0300 2018, 07:50:50
0
int[] arr = new int[10];

arr является типом int массив с размером 10. Это массив элементов 10. Если мы не инициализируем массив по умолчанию, элементы массива содержат значение по умолчанию. В случае массива int по умолчанию используется значение 0.

length - это свойство, которое применимо для массива.
здесь arr.length даст 10.

ответил Anil 4 72018vEurope/Moscow11bEurope/MoscowSun, 04 Nov 2018 16:58:21 +0300 2018, 16:58:21

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132