La différence entre la taille et la longueur en Java
-
La propriété
length
des tableaux en Java -
Exemple de
.length
dans un tableau en Java -
Exemple de la méthode
size()
dans un tableau en Java -
Trouvez la longueur à l’aide de la méthode
length()
en Java -
La méthode
size()
de Java Collections - La différence entre la taille et la longueur en Java
Ce tutoriel présente la différence entre la taille et la longueur en Java. Nous avons également répertorié quelques exemples de codes pour vous aider à comprendre le sujet.
Java a une méthode size()
et une propriété length
. Un débutant peut penser que ceux-ci sont interchangeables et effectuent la même tâche car ils sonnent un peu de la même manière. En Java, la taille et la longueur sont deux choses différentes. Ici, nous allons apprendre les différences entre les deux.
La propriété length
des tableaux en Java
Les tableaux stockent un nombre fixe de données du même type de manière ordonnée. Tous les tableaux en Java ont un champ de longueur qui stocke l’espace alloué aux éléments de ce tableau. Il s’agit d’une valeur constante utilisée pour connaître la capacité maximale de la baie.
- N’oubliez pas que ce champ ne nous donnera pas le nombre d’éléments présents dans le tableau mais le nombre maximum d’éléments pouvant être stockés (indépendamment du fait que des éléments soient présents ou non).
Exemple de .length
dans un tableau en Java
Dans le code ci-dessous, nous initialisons d’abord un tableau de longueur 7
. Le champ de longueur de ce tableau affiche 7
même si nous n’avons ajouté aucun élément. Ce 7
indique simplement la capacité maximale.
public class Main {
public static void main(String[] args) {
int[] intArr = new int[7];
System.out.print("Length of the Array is: " + intArr.length);
}
}
Production:
Length of the Array is: 7
Maintenant, ajoutons 3 éléments au tableau en utilisant leur index, puis imprimons le champ de longueur. Il affiche toujours 7.
public class Main {
public static void main(String[] args) {
int[] intArr = new int[7];
intArr[0] = 20;
intArr[1] = 25;
intArr[2] = 30;
System.out.print("Length of the Array is: " + intArr.length);
}
}
Production:
Length of the Array is: 7
Le champ de longueur est constant car les tableaux sont de taille fixe. Nous devons définir le nombre maximum d’éléments que nous allons stocker dans le tableau (la capacité du tableau) lors de l’initialisation, et nous ne pouvons pas dépasser cette limite.
Exemple de la méthode size()
dans un tableau en Java
Il n’y a pas de méthode size()
pour les tableaux ; il renverra une erreur de compilation. Voir l’exemple ci-dessous.
public class SimpleTesting {
public static void main(String[] args) {
int[] intArr = new int[7];
System.out.print("Length of the Array is: " + intArr.size());
}
}
Production:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot invoke size() on the array type int[]
at SimpleTesting.main(SimpleTesting.java:7)
Trouvez la longueur à l’aide de la méthode length()
en Java
Les chaînes Java sont simplement une collection ordonnée de caractères et, contrairement aux tableaux, elles ont une méthode length()
et non un champ length
. Cette méthode renvoie le nombre de caractères présents dans la chaîne.
Voir l’exemple ci-dessous.
public class Main {
public static void main(String[] args) {
String str1 = "This is a string";
String str2 = "Another String";
System.out.println("The String is: " + str1);
System.out.println("The length of the string is: " + str1.length());
System.out.println("\nThe String is: " + str2);
System.out.println("The length of the string is: " + str2.length());
}
}
Production:
The String is: This is a string
The length of the string is: 16
The String is: Another String
The length of the string is: 14
Notez que nous ne pouvons pas utiliser la propriété length
sur les chaînes et que la méthode length
n’est pas applicable sur les tableaux. Le code suivant montre les erreurs si nous les abusons.
public class SimpleTesting {
public static void main(String[] args) {
String str1 = "This is a string";
System.out.println("The length of the string is: " + str1.length);
}
}
Production:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
length cannot be resolved or is not a field
at SimpleTesting.main(SimpleTesting.java:7)
De même, nous ne pouvons pas utiliser la méthode string length()
sur les tableaux.
public class SimpleTesting {
public static void main(String[] args) {
int[] intArray = {1, 2, 3};
System.out.println("The length of the string is: " + intArray.length());
}
}
Production:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot invoke length() on the array type int[]
at SimpleTesting.main(SimpleTesting.java:7)
La méthode size()
de Java Collections
size()
est une méthode de la classe java.util.Collections
. La classe Collections
est utilisée par de nombreuses collections (ou structures de données) différentes comme ArrayList
, LinkedList
, HashSet
et HashMap
.
La méthode size()
renvoie le nombre d’éléments actuellement présents dans la collection. Contrairement à la propriété length
des tableaux, la valeur renvoyée par la méthode size()
n’est pas constante et change en fonction du nombre d’éléments.
Toutes les collections du Collection Framework
en Java sont allouées dynamiquement, le nombre d’éléments peut donc varier. La méthode size()
est utilisée pour garder une trace du nombre d’éléments.
Dans le code ci-dessous, il est clair que lorsque nous créons une nouvelle ArrayList
sans aucun élément dedans, la méthode size()
renvoie 0.
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
System.out.println("The ArrayList is: " + list);
System.out.println("The size of the ArrayList is: " + list.size());
}
}
Production:
The ArrayList is: []
The size of the ArrayList is: 0
Mais cette valeur change à mesure que nous ajoutons ou supprimons des éléments. Après avoir ajouté trois éléments, la taille passe à 3. Ensuite, nous avons supprimé deux éléments et la taille de la liste devient 1.
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
System.out.println("The ArrayList is: " + list);
System.out.println("The size of the ArrayList is: " + list.size());
list.add(20);
list.add(40);
list.add(60);
System.out.println("\nAfter adding three new elements:");
System.out.println("The ArrayList is: " + list);
System.out.println("The size of the ArrayList is: " + list.size());
list.remove(0);
list.remove(1);
System.out.println("\nAfter removing two elements:");
System.out.println("The ArrayList is: " + list);
System.out.println("The size of the ArrayList is: " + list.size());
}
}
Production:
The ArrayList is: []
The size of the ArrayList is: 0
After adding three new elements:
The ArrayList is: [20, 40, 60]
The size of the ArrayList is: 3
After removing two elements:
The ArrayList is: [40]
The size of the ArrayList is: 1
La différence entre la taille et la longueur en Java
Même si la taille et la longueur peuvent parfois être utilisées dans le même contexte, elles ont des significations totalement différentes en Java.
Le champ length
des tableaux est utilisé pour désigner la capacité maximale du tableau. Par capacité maximale, on entend le nombre maximal d’éléments qui peuvent y être stockés. Ce champ ne prend pas en compte le nombre d’éléments présents dans le tableau et reste constant.
La méthode des chaînes length()
est utilisée pour désigner le nombre de caractères présents dans les chaînes. La méthode size()
du Collections Framework
est utilisée pour afficher le nombre d’éléments actuellement présents dans cette collection. Les Collections
ont une taille dynamique, la valeur de retour de size()
peut donc varier.