Je viens d'un fond php et en php, il y a une array_size()
fonction qui vous dit combien d'éléments du tableau sont utilisés.
Existe-t-il une méthode similaire pour un String[]
tableau? Merci.
Je viens d'un fond php et en php, il y a une array_size()
fonction qui vous dit combien d'éléments du tableau sont utilisés.
Existe-t-il une méthode similaire pour un String[]
tableau? Merci.
Réponses:
Oui, .length
(comme une 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.
En outre, il est probablement utile de noter que si vous avez un tableau multidimensionnel, vous pouvez obtenir la dimension respective simplement en ajoutant un «[0]» au tableau que vous interrogez jusqu'à ce que vous arriviez à l'axe / tuple / dimension approprié.
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
Les tableaux sont des objets et ils ont un champ de longueur.
Chaîne [] haha = {"olle", "bulle"};
haha.length serait 2
En java, il existe un length
champ que vous pouvez utiliser sur n'importe quel tableau pour connaître sa taille:
String[] s = new String[10];
System.out.println(s.length);
Si vous voulez qu'une fonction le fasse
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 [].
Il y a une différence entre la 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
La réponse est "Tous". Un tableau java est alloué avec un nombre fixe d'emplacements d'élément. L'attribut "longueur" vous indiquera combien. Ce nombre est immuable pour la durée de vie de la baie. Pour un équivalent redimensionnable, vous avez besoin de l'une des classes java.util.List - où vous pouvez utiliser la méthode size () pour savoir combien d'éléments sont utilisés.
Cependant, il y a "En cours d'utilisation", 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, donc même s'ils comptent dans l'attribut length, mais dans les définitions de la plupart des gens, ils ne sont pas utilisés (YMMV, selon l'application). Il n'y a pas de fonction intégrée pour renvoyer les nombres nuls / non nuls.
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, il y a généralement un remplissage dans ces classes. 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 non nuls, validés, Tous les éléments validés (y compris les éléments nuls) ou Tous les éléments, y compris l'espace d'expansion actuellement alloué.
Toutes les réponses ci-dessus sont correctes. La chose importante à observer est que les tableaux ont un attribut length mais pas une méthode length. Chaque fois que vous utilisez des chaînes et des tableaux en java, les trois modèles de base auxquels vous pourriez être confronté sont:
Ce n'est pas vraiment la réponse à votre question, mais si vous voulez avoir quelque chose comme un tableau qui peut croître et se réduire, vous ne devriez pas utiliser un tableau en java. Vous êtes probablement le meilleur en utilisant ArrayList ou une autre implémentation de List.
Vous pouvez ensuite appeler size () dessus pour obtenir sa taille.