J'ai déclaré un tableau comme indiqué ci-dessous:
int[] arr = new int[10];
Ensuite, j'ai attribué 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?
Tout d'abord,
length
c'est une propriété, donc ce seraitarr.length
au lieu dearr.length()
.Et il renverra 10, la taille déclarée. Les éléments que vous ne déclarez pas explicitement sont initialisés à 0.
la source
Pour trouver la longueur d'un tableau,
A
vous devez utiliser lalength
propriété. C'est commeA.length
, ne l'utilisez pasA.length()
principalement 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 jamais vous rencontrez l'un de ces types de problèmes, le moyen le plus simple est de l'exécuter. Bonne programmation!
la source
Les tableaux sont une allocation de mémoire statique, donc si vous initialisez un tableau d'entiers:
La longueur sera toujours de 15, quel que soit le nombre d'index remplis.
Et autre chose, lorsque vous initialisez un tableau d'entiers, tous les index seront remplis avec "0".
la source
En Java, votre taille "réelle" et "logique" est la même. Le run-time remplit tous les emplacements de tableau avec des valeurs par défaut lors de l'allocation. Donc, votre
a
contient 10.la source
Dans ce cas, arr.length renverra 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 la baie:
Java créera un tableau avec 10 éléments et initialisera tous ceux-ci à 0. Voir la spécification du langage Java pour plus de détails sur les valeurs initiales de ce type et d'autres types primitifs.
la source
arr
est unint
tableau de type qui a une taille10
. C'est un tableau d'10
éléments. Si nous n'initialisons pas un tableau par défaut, les éléments du tableau contiennent la valeur par défaut. Dans le cas d'un tableau int, la valeur par défaut est0
.length est une propriété applicable à un tableau.
ici
arr.length
donnera10
.la source
»
donc ici nous avons créé un tableau avec un espace mémoire de 3 ... c'est à quoi ça ressemble en fait
0e 1er 2e ...........> Index 2 4 5 ...........> Numéro
Donc, comme vous le voyez, la taille de ce tableau est de 3 mais l'indice du tableau n'est que de 2 puisque tout tableau commence par le 0ème index.
La sortie de la deuxième instruction doit être 3 puisque la longueur du tableau est 3 ... Veuillez ne pas confondre la valeur d'index et la longueur du tableau ....
à votre santé!
la source
la source
Il contiendra la taille réelle du tableau car c'est ce à quoi vous avez initialisé le tableau lorsque vous l'avez déclaré. Java n'a aucune notion de la taille «logique» d'un tableau, en ce qui le concerne, la valeur par défaut de 0 est tout aussi logique que les valeurs que vous avez définies manuellement.
la source
Il contient la taille allouée, 10. Les index restants contiendront la valeur par défaut qui est 0.
la source
Si vous voulez la taille logique du tableau, vous pouvez parcourir toutes les valeurs du tableau et les comparer à zéro. Incrémentez la valeur si elle n'est pas égale à zéro et que ce serait la taille logique. Étant donné que la taille du tableau est fixe, vous ne disposez d'aucune méthode intégrée, vous devriez peut-être jeter un œil aux collections.
la source
Ça devrait être:
Les parenthèses doivent être évitées.
la source
Les tableaux Java sont en fait de taille fixe, et les autres réponses expliquent comment .length ne fait pas vraiment ce que vous attendez. Je voudrais simplement ajouter que compte tenu de votre question, ce que vous pourriez vouloir utiliser est une ArrayList, c'est-à-dire un tableau qui peut croître 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'augmenter au fur et à mesure que vous ajoutez des éléments.
la source
si vous entendez par "taille logique", l'indice du tableau, alors simplement int arrayLength = arr.length-1; puisque l'index du tableau commence par "0", donc l'index logique ou "index du tableau" sera toujours inférieur à la taille réelle de "un".
la source
Les tableaux se voient allouer de la mémoire au moment de la compilation en java, ils sont donc statiques, les éléments non explicitement définis ou modifiés sont définis avec les valeurs par défaut. Vous pouvez utiliser un code comme celui-ci, bien que cela ne soit pas recommandé car il ne compte pas les valeurs par défaut, même si vous les initialisez explicitement de cette façon, il est également susceptible de provoquer des bogues sur toute la ligne. Comme d'autres l'ont dit, lors de la recherche de la taille réelle, ".length" doit être utilisé à la place de ".length ()".
la source