Java ArrayList
La classe ArrayList est un tableau qui peut être modifié dynamiquement. La différence avec les tableaux ordinaires est qu'elle n'a pas de limite de taille fixe, et nous pouvons ajouter ou supprimer des éléments.
ArrayList hérite de AbstractList et implémente l'interface List.

La classe ArrayList se trouve dans le package java.util. Vous devez l'importer avant utilisation. Le format de syntaxe est le suivant :
import java.util.ArrayList; // 引入 ArrayList 类 ArrayList<E> objectName =new ArrayList<>(); // 初始化
- E: type de données générique, utilisé pour définir le type de données de objectName,ne peut être que des types de données de référence。
- objectName: nom de l'objet.
ArrayList est une file d'attente basée sur un tableau qui fournit des fonctions associées telles que l'ajout, la suppression, la modification et le parcours.
Ajouter un élément
La classe ArrayList fournit de nombreuses méthodes utiles. Vous pouvez utiliser la méthode add() pour ajouter des éléments à une ArrayList :
Exemple
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
sites.add("Weibo");
System.out.println(sites);
}
}
L'exemple ci-dessus s'exécute et le résultat de sortie est :
[Google, Example, Taobao, Weibo]
Accéder à un élément
Pour accéder à un élément dans une ArrayList, vous pouvez utiliser la méthode get() :
Exemple
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
sites.add("Weibo");
System.out.println(sites.get(1)); // Accéder au deuxième élément
}
}
Remarque: La valeur d'index d'un tableau commence à 0.
L'exemple ci-dessus s'exécute et le résultat de sortie est :
Example
Modifier un élément
Pour modifier un élément dans une ArrayList, vous pouvez utiliser la méthode set(). Le premier paramètre de la méthode set(int index, E element) est l'index, indiquant la position de l'élément à remplacer ; le second paramètre est le nouvel élément, indiquant la nouvelle valeur à définir :
Exemple
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
sites.add("Weibo");
sites.set(2, "Wiki"); // Le premier paramètre est la position de l'index, le second est la valeur à modifier
System.out.println(sites);
}
}
L'exemple ci-dessus s'exécute et le résultat de sortie est :
[Google, Example, Wiki, Weibo]
Supprimer un élément
Pour supprimer un élément dans une ArrayList, vous pouvez utiliser la méthode remove() :
Exemple
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
sites.add("Weibo");
sites.remove(3); // Supprimer le quatrième élément
System.out.println(sites);
}
}
L'exemple ci-dessus s'exécute et le résultat de sortie est :
[Google, Example, Taobao]
Calculer la taille
Pour calculer le nombre d'éléments dans une ArrayList, vous pouvez utiliser la méthode size() :
Exemple
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
sites.add("Weibo");
System.out.println(sites.size());
}
}
L'exemple ci-dessus s'exécute et le résultat de sortie est :
4
Parcourir une ArrayList
Nous pouvons utiliser for pour parcourir les éléments de la liste de tableaux :
Exemple
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
sites.add("Weibo");
for (int i = 0; i < sites.size(); i++) {
System.out.println(sites.get(i));
}
}
}
L'exemple ci-dessus s'exécute et le résultat de sortie est :
Google Example Taobao Weibo
Vous pouvez également utiliser for-each pour parcourir les éléments :
Exemple
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
sites.add("Weibo");
for (String i : sites) {
System.out.println(i);
}
}
}
L'exemple ci-dessus s'exécute et le résultat de sortie est :
Google Example Taobao Weibo
Autres types de référence
Les éléments d'un ArrayList sont en réalité des objets. Dans les exemples ci-dessus, les éléments de la liste de tableaux sont tous de type String.
Si nous voulons stocker d'autres types, et que <E> ne peut être que des types de données de référence, alors nous devons utiliser les classes enveloppes des types primitifs.
Le tableau des classes enveloppes correspondant aux types primitifs est le suivant :
| Type primitif | Type de référence |
|---|---|
| booléen | Boolean |
| octet | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Caractère |
De plus, BigInteger et BigDecimal sont utilisés pour les opérations de haute précision. BigInteger prend en charge les entiers à précision arbitraire. Ce sont aussi des types de référence, mais ils n'ont pas de types primitifs correspondants.
ArrayList<Integer> li=new ArrayList<>(); // 存放整数元素 ArrayList<Character> li=new ArrayList<>(); // 存放字符元素
L'exemple suivant utilise ArrayList pour stocker des nombres (en utilisant le type Integer) :
Exemple
public class ExampleTest {
public static void main(String[] args) {
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(10);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(25);
for (int i : myNumbers) {
System.out.println(i);
}
}
}
L'exemple ci-dessus s'exécute et le résultat de sortie est :
10 15 20 25
Tri d'ArrayList
La classe Collections est aussi une classe très utile, située dans le package java.util. Sa méthode sort() peut trier des listes de caractères ou de nombres.
L'exemple suivant trie des lettres :
Exemple
import java.util.Collections; // Importer la classe Collections
public class ExampleTest {
public static void main(String[] args) {
ArrayList<String> sites = new ArrayList<String>();
sites.add("Taobao");
sites.add("Wiki");
sites.add("Example");
sites.add("Weibo");
sites.add("Google");
Collections.sort(sites); // Trier les lettres
for (String i : sites) {
System.out.println(i);
}
}
}
L'exemple ci-dessus s'exécute et le résultat de sortie est :
Google Example Taobao Weibo Wiki
L'exemple suivant trie des nombres :
Exemple
import java.util.Collections; // Importer la classe Collections
public class ExampleTest {
public static void main(String[] args) {
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(33);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(34);
myNumbers.add(8);
myNumbers.add(12);
Collections.sort(myNumbers); // Trier les nombres
for (int i : myNumbers) {
System.out.println(i);
}
}
}
L'exemple ci-dessus s'exécute et le résultat de sortie est :
8 12 15 20 33 34
Méthodes Java ArrayList
La liste des méthodes Java ArrayList couramment utilisées est la suivante :
| Méthode | Description |
|---|---|
| add() | Insérer un élément dans l'arraylist à la position spécifiée |
| addAll() | Ajouter tous les éléments d'une collection à l'arraylist |
| clear() | Supprimer tous les éléments de l'arraylist |
| clone() | Copier une arraylist |
| contains() | Déterminer si un élément se trouve dans l'arraylist |
| get() | Obtenir l'élément dans l'arraylist par valeur d'index |
| indexOf() | Retourner la valeur d'index d'un élément dans l'arraylist |
| removeAll() | Supprimer tous les éléments de l'arraylist qui existent dans la collection spécifiée |
| remove() | Supprimer un seul élément de l'arraylist |
| size() | Retourner le nombre d'éléments dans l'arraylist |
| isEmpty() | Déterminer si l'arraylist est vide |
| subList() | Extraire une partie des éléments de l'arraylist |
| set() | Remplacer l'élément à l'index spécifié dans l'arraylist |
| sort() | Trier les éléments de l'arraylist |
| toArray() | Convertir l'arraylist en tableau |
| toString() | Convertir l'arraylist en chaîne de caractères |
| ensureCapacity() | Définir l'arraylist avec la capacité spécifiée |
| lastIndexOf() | Retourner la position de la dernière occurrence de l'élément spécifié dans l'arraylist |
| retainAll() | Conserver les éléments de l'arraylist qui existent aussi dans la collection spécifiée |
| containsAll() | Vérifier si l'arraylist contient tous les éléments de la collection spécifiée |
| trimToSize() | Ajuster la capacité de l'arraylist au nombre d'éléments dans le tableau |
| removeRange() | Supprimer les éléments entre les indices spécifiés dans l'arraylist |
| replaceAll() | Remplace chaque élément du tableau par le contenu de l'opération donnée |
| removeIf() | Supprime tous les éléments de l'arraylist qui remplissent des conditions spécifiques |
| forEach() | Parcourt chaque élément de l'arraylist et exécute une opération spécifique |
Pour plus de méthodes API, vous pouvez consulter :https://www.example.com/manual/jdk11api/java.base/java/util/ArrayList.html
Autres extensions
Java Collections Framework