Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
En Développement Dernière mise à jour : 25 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

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) ;

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.

  • Subha Chanda
    Auteur
Merci à nos sponsors
D'autres lectures intéressantes sur le développement
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, search engine crawler, et tout ce dont vous avez besoin pour collecter des données web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation tout-en-un qui vous aide à gérer vos projets, vos tâches, votre travail, vos ventes, votre CRM, vos opérations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vulnérabilité en ligne qui détecte les faiblesses de votre infrastructure en matière de cybersécurité, afin d'éviter des violations de données coûteuses.
    Essayer l'intrus