English English French French Spanish Spanish German German
Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

ArrayList en Java : une introduction pour les débutants [2023]

arraylist-en-Java
Scanner de sécurité des applications Web Invicti – 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 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.

Un tableau peut être de deux types : un tableau statique ou un tableau dynamique. Un tableau ne peut pas être augmenté dynamiquement dans des langages de programmation comme Java. Au lieu de cela, 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, les ArrayLists sont utilisées en Java. La taille du tableau augmente automatiquement lorsqu'un élément est poussé vers une ArrayList.

Dans cet article, vous découvrirez les ArrayLists en Java. Vous comprendrez la différence fondamentale entre Array et ArrayList et découvrirez également les différents types de ArrayLists et comment les utiliser.

Array vs ArrayList

La principale différence entre un Array et un ArrayList est que la taille d'un Array est statique, mais la taille d'une ArrayList peut être dynamique. Comme un tableau est fixe, le temps d'itération sur le tableau prend moins de temps qu'un tableau dynamique.

Il y a aussi quelques autres différences entre eux.

  • Un tableau statique peut être unidimensionnel ou multidimensionnel, mais une ArrayList ne peut être qu'unidimensionnelle.
  • Un tableau est une structure de données primitive disponible en Java. Mais une ArrayList fait partie d'une API Collection Framework en Java. Il est construit 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 ArrayList. Si vous souhaitez utiliser un type de données primitif, vous devez utiliser la classe wrapper correspondante du type de données.

Types de listes de tableaux en Java

Les ArrayLists peuvent être de n'importe quel type. Mais vous devrez transmettre la classe wrapper correspondante car vous ne pouvez pas transmettre de types de données primitifs dans une ArrayList.

Vous pouvez ajouter des types de données simples comme des entiers ou des types de chaîne en passant des classes wrapper comme Integer or String.

Vous pouvez également transmettre des types complexes tels que ArrayLists of ArrayLists, hashmaps, etc.

Examinons un exemple d'utilisation d'une classe personnalisée dans une 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
Name: Dan Age: 32

Dans l'exemple de code ci-dessus, une ArrayList de type User est créé. Vous en apprendrez plus sur les méthodes utilisées dans l'exemple ci-dessous.

Creating an ArrayList in Java

Vous avez déjà compris les bases d'une ArrayList en Java. Examinons maintenant la syntaxe d'une ArrayList, et après cela, nous verrons également comment elle peut être utilisée dans du code Java.

ArrayList<Type> listName = new ArrayList<>();

L'extrait ci-dessus montre la syntaxe de définition d'une ArrayList. La Type définit le type de ArrayList. Par exemple, si vous souhaitez déclarer une ArrayList de types de données entiers, vous pouvez transmettre <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 java.util.ArrayList pour utiliser ArrayList dans vos programmes. Voici un exemple basique d'un programme déclarant une 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, une ArrayList nommée rainbow De type String est déclaré.

Pour travailler avec ArrayList, plusieurs méthodes sont disponibles. Jetons un coup d'œil à quelques méthodes.

The add Method

La classe ArrayList fournit diverses méthodes pour 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, la suppression d'une ArrayList, etc.

La première méthode que nous verrons est la add méthode.

, add méthode est utilisée pour ajouter un élément unique à un ArrayList. La syntaxe pour add est montré 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 d'index où se trouve l'élément que vous souhaitez ajouter. Le deuxième paramètre Element est l'élément que vous souhaitez ajouter. Prenons maintenant un exemple.

rainbow.add("Violet");
System.out.println(rainbow); 

Output:
[Violet]



rainbow.add(0, "Red");
System.out.println(rainbow); 

Output:
[Red, Violet]

, rainbow.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 add() retourne la méthode true lorsqu'un élément est inséré avec succès.

The get Method

, get est utilisée pour obtenir la valeur à partir d'une position spécifiée à partir d'une ArrayList.

arrayList.get(int i);

, i indiqué dans la syntaxe ci-dessus est la position d'index. Par exemple, si vous souhaitez obtenir l'élément à partir de la position d'index 1, écrire 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 retournera Violet de la ArrayList rainbow.

The set Method

, set La méthode 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, "Purple"), en supposant que vous avez une ArrayList appelée rainbow.

La syntaxe pour le set méthode 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); 

Output:
[Violet]

rainbow.add(0, "Red");
System.out.println(rainbow);

Output:
[Red, Violet]

rainbow.set(1, "Purple");
System.out.println(rainbow);

Output:
[Red, Purple]

Dans l'exemple ci-dessus, nous ajoutons deux valeurs à une ArrayList appelée rainbow. Tout d'abord, l'élément Violet est ajouté, puis à la position 0 de la ArrayList, on ajoute l'item Red. À ce stade, la ArrayList complète ressemble à ceci, [Red, Violet].

Maintenant, l'élément à la position d'index 1 est remplacé par la valeur Purple utilisant l' set méthode. Après avoir remplacé la valeur, la ArrayList ressemblera à ceci, [Red, Purple].

The remove Method

La liste de tableaux remove La méthode est utilisée pour supprimer une valeur de la ArrayList. Vous pouvez transmettre la valeur ou la position d'index de la valeur que vous souhaitez supprimer. La syntaxe pour le remove méthode est illustrée ci-dessous :

arrayList.remove(Object value);

// or

arrayList.remove(int i);

Prenons un exemple pour mieux comprendre la méthode. Supposons que vous ayez une ArrayList appelée rainbow avec ces valeurs [Violet, Red, Green]. Maintenant, si vous voulez supprimer Red à partir de la ArrayList, vous pouvez écrire rainbow.remove("Red");. L'appel de cette méthode sur le rainbow ArrayList supprimera l'élément Red à partir de cela.

// rainbow = [Violet, Red, Green]

rainbow.remove("Red");
System.out.println(rainbow);

Output:
[Violet, Green]

Vous pouvez également passer la position d'index pour supprimer l'élément à la position d'index.

//rainbow = [Red, Green]

rainbow.remove(0); // Remove item at index position 0

System.out.println(rainbow);

Output:
[Green]

The clear Method

Comme son nom l'indique, le clear La méthode supprime tous les éléments d'une ArrayList. La syntaxe est simple et ne prend aucun paramètre.

arraylist.clear()

Prenons un exemple,

rainbow.clear(); 
System.out.println(rainbow); 

Output:
[]

, clear méthode ne renvoie aucune valeur. Au lieu de cela, il efface la valeur de la ArrayList donnée.

The size Method

, size renvoie la taille de la ArrayList donnée. Cette méthode ne prend également aucun paramètre. La syntaxe est illustrée ci-dessous.

arrayList.size();

, arrayList est le nom de la ArrayList ici. Comprenons le size méthode à l'aide d'un exemple.

ArrayList<String> rainbow = new ArrayList<>();
rainbow.add("Violet");
rainbow.add("Red");
rainbow.add("Green");

System.out.println(rainbow.size()); 


Output:
3

Cette méthode renvoie la valeur de la taille ArrayList. Dans l'exemple ci-dessus, la ArrayList rainbow se compose de trois valeurs, donc le size méthode renvoie 3.

Conclusion

Cet article explique ce qu'est une ArrayList et en quoi elle diffère d'un Array. Nous avons également vu comment une ArrayList pouvait être déclarée et utilisée en utilisant diverses méthodes disponibles pour la classe ArrayList.

Si vous souhaitez approfondir votre apprentissage de Java, consultez ces cours Java en ligne.

Merci à nos commanditaires
Plus de bonnes lectures sur le développement
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise 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, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder