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?
Il contient la taille allouée, 10
. Les index non affectés contiendront la valeur par défaut qui est 0
pour int
.
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.
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.
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!
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".
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.
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.
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
.
`
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é!
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.
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
CA devrait etre:
int a = arr.length;
La parenthèse doit être évitée.
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.
Il contient la taille allouée, 10. Les index restants contiendront la valeur par défaut qui est 0.
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".
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.