web-dev-qa-db-fra.com

Longueur du tableau dans Java

J'ai déclaré un tableau comme indiqué ci-dessous:

int[] arr = new int[10];

Ensuite, j'ai assigné les valeurs suivantes au tableau:

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

Ensuite, j'ai déclaré et initialisé une variable entière:

int arrayLength = arr.length;

Cela sera utile pour trouver la taille réelle, mais existe-t-il une méthode pour trouver la taille logique du tableau?

89
Kiran Bhat

Il contient la taille allouée, 10. Les index non affectés contiendront la valeur par défaut qui est 0 pour int.

79
Kai

Tout d'abord, length est une propriété, ce serait donc arr.length au lieu de arr.length().

Et il retournera 10, la taille déclarée. Les éléments que vous ne déclarez pas explicitement sont initialisés avec 0.

63
Costi Ciudatu

Pour trouver la longueur d'un tableau A, vous devez utiliser la propriété length. Comme A.length, n'utilisez pas A.length(), il est principalement utilisé pour la taille des objets liés à la chaîne.

enter image description here

La propriété length affichera toujours l'espace total alloué au tableau lors de l'initialisation.

Si vous rencontrez un de ces problèmes, le moyen le plus simple est de l’exécuter. Bonne programmation!

21
Ravi Pandey

Les tableaux sont des allocations de mémoire statiques, donc si vous initialisez un tableau d'entiers:

int[] intArray = new int[15];

La longueur sera toujours 15, quel que soit le nombre d'index renseignés.

Et une autre chose, lorsque vous initialisez un tableau d’entiers, tous les index seront remplis avec "0".

6
Ramon Saraiva

Dans ce cas, arr.length retournera 10, la taille du tableau que vous avez alloué. La taille logique ne s'applique pas vraiment ici, car il s'agit d'un tableau de longueur fixe.

Lorsque vous initialisez le tableau:

int[] arr = new int[10];

Java créera un tableau avec 10 éléments et initialisera tous ceux-ci à 0. Voir spécification de langage Java pour plus de détails sur les valeurs initiales de ce type primitif.

5
Tom Elliott

En Java, votre taille "réelle" et "logique" sont identiques. L'exécution remplit tous les emplacements de la matrice avec les valeurs par défaut lors de l'allocation. Ainsi, votre a contient 10.

4
Dirk
int[] arr = new int[10];

arr est un tableau de type int de taille 10. C'est un tableau d'éléments 10. Si nous n'initialisons pas un tableau par défaut, les éléments du tableau contiennent une valeur par défaut. Dans le cas d'un tableau int, la valeur par défaut est 0.

longueur est une propriété applicable à un tableau.
ici arr.length donnera 10.

3
Anil

`

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

nous avons donc créé un tableau avec un espace mémoire de 3 ... voilà à quoi il ressemble

0ème 1er 2ème ...........> Index 2 4 5 ...........> Nombre

Donc, comme vous le voyez, la taille de ce tableau est 3 mais l’indice du tableau n’est que 2, étant donné que tout tableau commence par 0 index.

la deuxième instruction 'sortie doit être 3 puisque la longueur du tableau est 3 ... Ne vous trompez pas entre la valeur d'index et la longueur du tableau ....

à votre santé!

3
Ayush Murty A H

Il contiendra la taille réelle du tableau car c'est ce que vous avez initialisé lorsque vous l'avez déclaré. Java n'a aucun concept de la taille "logique" d'un tableau, la valeur par défaut de 0 est tout aussi logique que les valeurs que vous avez définies manuellement.

1
Turix
  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
1
alok

CA devrait etre:

int a = arr.length;

La parenthèse doit être évitée.

1
Godlu

Si vous souhaitez connaître la taille logique du tableau, vous pouvez parcourir toutes les valeurs du tableau et les comparer à zéro. Incrémenter la valeur si elle n'est pas zéro et que ce serait la taille logique. Comme la taille du tableau est fixe, vous n’avez pas de méthode intégrée, vous devriez peut-être jeter un coup d’œil aux collections.

1
Struse

Il contient la taille allouée, 10. Les index restants contiendront la valeur par défaut qui est 0.

1
Nikhil Kumar

si vous voulez dire par "taille logique", l'index du tableau, alors simplement int arrayLength = arr.length-1; comme l'index du tableau commence par "0", le "tableau" logique sera toujours inférieur à la taille réelle de "un".

0
Salah

Les tableaux Java ont en fait une taille fixe et les autres réponses expliquent pourquoi .length ne fait pas ce que vous attendez. Je voudrais juste ajouter que compte tenu de votre question, vous voudrez peut-être utiliser une liste de tableaux, c'est-à-dire un tableau qui peut s'agrandir et se réduire:

https://docs.Oracle.com/javase/8/docs/api/Java/util/ArrayList.html

Ici, la méthode .size () vous montrera le nombre d'éléments dans votre liste, et vous pourrez l'agrandir au fur et à mesure que vous ajoutez des éléments.

0
draxil