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.
Les 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]
Les 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
Les get
est utilisée pour obtenir la valeur à partir d'une position spécifiée à partir d'une ArrayList.
arrayList.get(int i);
Les 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
Les 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);
Où 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:
[]
Les clear
méthode ne renvoie aucune valeur. Au lieu de cela, il efface la valeur de la ArrayList donnée.
The size
Method
Les 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();
Les 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.