Un tableau est une structure de données très répandue et essentielle dans tous les langages de programmation, avec un inconvénient : sa taille est fixe. Voyons comment ArrayList en Java peut vous aider à résoudre ce problème.
Un tableau peut être de deux types : un tableau statique ou un tableau dynamique. Un tableau ne peut pas être augmenté dynamiquement dans les langages de programmation comme Java. La taille du tableau est déclarée lors de l'initialisation du tableau. Mais, dans de nombreux cas, cela peut entraîner de nombreux problèmes. Pour résoudre ce problème, Java utilise des listes de tableaux (ArrayLists). La taille du tableau augmente automatiquement lorsqu'un élément est ajouté à une liste de tableaux.
Dans cet article, vous découvrirez les listes de tableaux (ArrayLists) en Java. Vous comprendrez la différence fondamentale entre Array et ArrayList et découvrirez également les différents types d'ArrayLists et la manière de les utiliser.
Tableau et liste de tableaux
La principale différence entre un tableau et une liste de tableaux est que la taille d'un tableau est statique, alors que celle d'une liste de tableaux peut être dynamique. Comme un tableau est fixe, l'itération sur le tableau prend moins de temps qu'un tableau dynamique.
Il existe également d'autres différences entre ces deux types de tableau.
- Un tableau statique peut être unidimensionnel ou multidimensionnel, alors qu'une liste de tableaux ne peut être qu'unidimensionnelle.
- Un tableau est une structure de données primitive disponible en Java. En revanche, une liste de tableaux (ArrayList) fait partie de l'API Collection Framework de Java. Elle est construite au-dessus des tableaux.
- Vous pouvez déclarer des tableaux avec des types de données primitifs. Les types de données primitifs ne peuvent pas être utilisés dans une liste de tableaux. Si vous souhaitez utiliser un type de données primitif, vous devez utiliser la classe enveloppante correspondante.
Types de listes de tableaux en Java
Les listes en tableau peuvent être de n'importe quel type. Mais vous devrez passer la classe enveloppante correspondante, car vous ne pouvez pas passer de types de données primitifs dans une liste de tableaux.
Vous pouvez ajouter des types de données simples comme les entiers ou les chaînes en passant des classes enveloppantes comme Integer
ou String
.
Vous pouvez également passer des types complexes comme les listes de listes de tableaux, les hashmaps, etc.
Voyons un exemple d'utilisation d'une classe personnalisée à l'intérieur d'un ArrayList.
import java.util.ArrayList ;
class User {
private String name ;
private int age ;
public User(String name, int age) {
this.name = name ;
this.age = age ;
}
public void getUser() {
System.out.println("Name : " name " Age : " age) ;
}
}
class Main {
public static void main(String[] args) {
ArrayList<User> users = new ArrayList<>() ;
users.add(new User("Subha", 25)) ;
users.add(new User("Dan", 32)) ;
users.forEach(user -> {
user.getUser() ;
}) ;
}
}
Output :
Name : Subha Age : 25
Nom : Dan Age : 32
Dans l'exemple de code ci-dessus, un ArrayList de type User
est créé. Vous en apprendrez plus sur les méthodes utilisées dans l'exemple ci-dessous.
Création d'une liste de tableaux en Java
Vous avez déjà compris les bases d'une liste de tableaux en Java. Voyons maintenant la syntaxe d'un ArrayList, puis comment il peut être utilisé dans le code Java.
ArrayList<Type> listName = new ArrayList<>() ;
L'extrait ci-dessus illustre la syntaxe de définition d'une liste de tableaux. L'extrait ci-dessus illustre la syntaxe de définition d'une liste de tableaux. type
définit le type de la liste de tableaux. Par exemple, si vous souhaitez déclarer une liste de tableaux de types de données entiers, vous pouvez passer <Integer>
. Notez que vous ne pouvez pas passer int
car il s'agit d'un type de données primitif.
Vous devrez également importer le fichier java.util.ArrayList
pour pouvoir l'utiliser dans vos programmes. Voici un exemple de base d'un programme déclarant un ArrayList :
import java.util.ArrayList ;
class Main {
public static void main(String[] args) {
// Declare An ArrayList
ArrayList<String> rainbow = new ArrayList<>() ;
System.out.println(rainbow) ;
}
}
Output :
[]
Dans le code ci-dessus, un ArrayList nommé rainbow
de type String
est déclaré.
Plusieurs méthodes sont disponibles pour travailler avec la liste de tableaux. Jetons un coup d'œil à quelques-unes d'entre elles.
La méthode add
La classe ArrayList propose plusieurs méthodes permettant d'effectuer des opérations telles que l'ajout ou la suppression d'éléments, l'obtention de valeurs, la définition d'une valeur à une position spécifique, l'effacement d'une liste de tableaux, etc.
La première méthode que nous verrons est la méthode add
.
La première méthode que nous verrons est la méthode add. La méthode add
est utilisée pour ajouter un seul élément à une ArrayList
. La syntaxe de la méthode add
est illustrée ci-dessous.
arrayList.add(int i, Element)
Comprenons maintenant la syntaxe. Le premier paramètre i
est un paramètre facultatif représentant la position de l'index où se trouve l'élément que vous souhaitez ajouter. Le second paramètre Element
est l'élément que vous souhaitez ajouter. Voyons maintenant un exemple.
rainbow.add("Violet") ;
System.out.println(rainbow) ;
Sortie :
[Violet]
rainbow.add(0, "Red") ;
System.out.println(rainbow) ;
Sortie :
[Red, Violet]
L'arc-en-ciel .add("Violet")
ajoute un élément à la fin d'une ArrayList. Et le rainbow.add(0, "Red")
ajoute l'élément Red
à la position d'index 0
de la ArrayList. La méthode add()
renvoie un vrai
lorsqu'un élément est inséré avec succès.
La méthode get
La méthode get
est utilisée pour obtenir la valeur d'une position spécifiée dans une liste de tableaux.
arrayList.get(int i) ;
Le i
indiqué dans la syntaxe ci-dessus correspond à la position de l'index. Par exemple, si vous souhaitez obtenir l'élément situé à la position d'index 1
, écrivez arrayList.get(1)
.
rainbow.add("Violet") ;
rainbow.add(0, "Red") ;
String color = rainbow.get(1) ;
System.out.println(color) ;
Output :
Violet
Le code ci-dessus renvoie Violet
à partir de la liste de tableaux rainbow
.
La méthode set
La méthode set
est utilisée pour remplacer la valeur d'un élément. Par exemple, si vous souhaitez remplacer la valeur d'un élément à la position d'index 0
, vous écrivez rainbow.set(0, "Violet")
, en supposant que vous disposez d'une ArrayList appelée rainbow
.
La syntaxe de la méthode set
est la suivante,
arrayList.set(int i, Element) ;
Où i
est la position de l'index et Element
est la valeur du nouvel élément.
rainbow.add("Violet") ;
System.out.println(rainbow) ;
Résultat :
[Violet]
rainbow.add(0, "Rouge") ;
System.out.println(rainbow) ;
Résultat :
[Rouge, Violet]
rainbow.set(1, "Violet") ;
System.out.println(rainbow) ;
Résultat :
[Rouge, Violet]
Dans l'exemple ci-dessus, nous ajoutons deux valeurs à une liste de tableaux appelée rainbow
. Tout d'abord, l'élément Violet
est ajouté, puis à la position 0
de la liste, nous ajoutons l'élément Rouge
. À ce stade, la liste de tableaux complète ressemble à ceci : [Rouge, Violet]
.
Maintenant, l'élément à la position d'index 1
est remplacé par la valeur Violet
à l'aide de la méthode set
. Après le remplacement de la valeur, la liste de tableaux se présente comme suit : [Rouge, Violet]
.
La méthode remove
La méthode remove
de la liste de tableaux est utilisée pour supprimer une valeur de la liste de tableaux. Vous pouvez transmettre la valeur ou la position d'index de la valeur que vous souhaitez supprimer. La syntaxe de la méthode remove
est présentée ci-dessous :
arrayList.remove(Object value) ;
// ou
arrayList.remove(int i) ;
Prenons un exemple pour mieux comprendre la méthode. Supposons que vous ayez un ArrayList appelé rainbow
avec les valeurs suivantes [Violet, Rouge, Vert]
. Si vous souhaitez supprimer Rouge
de la liste, vous pouvez écrire rainbow.remove("Rouge") ;
. L'appel de cette méthode sur la liste de tableaux arc-en-ciel
supprimera l'élément Rouge
de cette liste.
// rainbow = [Violet, Rouge, Vert]
rainbow.remove("Rouge") ;
System.out.println(rainbow) ;
Résultat :
[Violet, Vert]
Vous pouvez également transmettre la position de l'index pour supprimer l'élément à la position de l'index.
//rainbow = [Rouge, Vert]
rainbow.remove(0) ; // Supprime l'élément à la position d'index 0
System.out.println(rainbow) ;
Résultat :
[Vert]
La méthode clear
Comme son nom l'indique, la méthode clear
supprime tous les éléments d'une ArrayList. La syntaxe est simple et ne prend aucun paramètre.
arraylist.clear()
Voyons un exemple,
rainbow.clear() ;
System.out.println(rainbow) ;
Sortie :
[]
La méthode clear
ne renvoie aucune valeur. Elle efface la valeur de la liste de tableaux donnée.
La méthode size
La méthode size
renvoie la taille de la liste de tableaux donnée. Cette méthode ne prend pas non plus de paramètres. La syntaxe est présentée ci-dessous.
arrayList.size() ;
ArrayList
est ici le nom de la liste de tableaux. Comprenons la méthode size
à l'aide d'un exemple.
ArrayList<String> rainbow = new ArrayList<>() ;
rainbow.add("Violet") ;
rainbow.add("Rouge") ;
rainbow.add("Vert") ;
System.out.println(rainbow.size()) ;
Output :
3
Cette méthode renvoie la valeur de la taille de la liste de tableaux. Dans l'exemple ci-dessus, l'ArrayList rainbow
est composée de trois valeurs, la méthode size
renvoie donc 3.
Conclusion
Dans cet article, nous avons vu ce qu'est une liste de tableaux (ArrayList) et en quoi elle diffère d'un tableau (Array). Nous avons également vu comment déclarer et utiliser un ArrayList à l'aide des différentes méthodes disponibles pour la classe ArrayList.
Si vous souhaitez approfondir votre apprentissage de Java, consultez ces cours de Java en ligne.