Je viens d'un fond php et en php, il y a une fonction array_size()
qui vous indique le nombre d'éléments utilisés dans le tableau.
Existe-t-il une méthode similaire pour un tableau String[]
? Merci.
Oui, .length
(propriété, pas une méthode):
String[] array = new String[10];
int size = array.length;
array.length
C'est en fait un dernier membre du tableau, pas une méthode.
De plus, il est probablement utile de noter que si vous avez un tableau multidimensionnel, vous pouvez obtenir la dimension respective en ajoutant simplement un [[0] '] au tableau que vous interrogez jusqu'à ce que vous arriviez à l'axe/le nuplet/la dimension appropriés.
Ceci est probablement mieux expliqué avec le code suivant:
public class Test {
public static void main(String[] args){
String[][] moo = new String[5][12];
System.out.println(moo.length); //Prints the size of the First Dimension in the array
System.out.println(moo[0].length);//Prints the size of the Second Dimension in the array
}
}
Qui produit la sortie:
5
12
propriété array.length final
c'est une propriété publique et finale. Il est définitif car les tableaux de Java sont immuables par taille (mais modifiables par la valeur de l'élément)
Les tableaux sont des objets et ils ont un champ de longueur.
String [] haha = {"olle", "bulle"};
haha.long serait de 2
Dans Java, il existe un champ length
que vous pouvez utiliser sur n’importe quel tableau pour déterminer sa taille:
String[] s = new String[10];
System.out.println(s.length);
Si vous voulez une fonction pour le faire
Object array = new String[10];
int size = Array.getlength(array);
Cela peut être utile si vous ne savez pas quel type de tableau vous avez, par exemple. int [], byte [] ou Object [].
La réponse est "tous". Un tableau Java est alloué avec un nombre fixe d'emplacements d'élément. L'attribut "longueur" vous dira combien. Ce nombre est immuable pour la vie du tableau. Pour obtenir un équivalent redimensionnable, vous avez besoin d’une des classes Java.util.List, où vous pouvez utiliser la méthode size () pour déterminer le nombre d’éléments utilisés.
Cependant, il y a "En cours d'utilisation" et puis il y a En cours d'utilisation. Dans un tableau d'objets de classe, vous pouvez avoir des emplacements d'élément dont les éléments sont des objets nuls. Ainsi, même s'ils comptent dans l'attribut length, ils ne sont pas utilisés par la plupart des définitions (YMMV, selon l'application). Il n'y a pas de fonction intégrée pour renvoyer les comptes null/non-null.
Les objets de liste ont encore une autre définition de "En cours d'utilisation". Pour éviter une création/destruction excessive des structures de stockage sous-jacentes, ces classes contiennent généralement des éléments de remplissage. Il est utilisé en interne, mais n'est pas compté dans la méthode size () renvoyée. Et si vous essayez d'accéder à ces éléments sans développer la liste (via les méthodes d'ajout), vous obtiendrez une exception d'index illégale.
Ainsi, pour les listes, vous pouvez avoir "En cours d'utilisation" pour les éléments validés non nuls, Tous les éléments validés (y compris les éléments nuls) ou Tous les éléments, y compris l'espace d'expansion alloué.
Il y a une différence entre longueur de String
et array
pour clarifier:
int a[] = {1, 2, 3, 4};
String s = "1234";
a.length //gives the length of the array
s.length() //gives the length of the string
Toutes les réponses ci-dessus sont correctes. La chose importante à observer est que les tableaux ont un attribut de longueur mais pas la méthode de la longueur. Lorsque vous utilisez des chaînes et des tableaux dans Java, les trois modèles de base auxquels vous pouvez être confronté sont les suivants:
Ce n'est pas vraiment la réponse à votre question, mais si vous voulez avoir quelque chose comme un tableau qui peut s'agrandir et se réduire, vous ne devriez pas utiliser un tableau en Java. Vous avez probablement intérêt à utiliser ArrayList ou une autre implémentation de List.
Vous pouvez ensuite appeler size () pour obtenir sa taille.