Java ArrayList

Java 集合框架Java Collections Framework

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

import java.util.ArrayList;

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

import java.util.ArrayList;

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

import java.util.ArrayList;

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

import java.util.ArrayList;

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

import java.util.ArrayList;

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

import java.util.ArrayList;

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

import java.util.ArrayList;

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 primitifType de référence
booléenBoolean
octetByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCaractè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

import java.util.ArrayList;

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.ArrayList;
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.ArrayList;
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

Java 集合框架Java Collections Framework

Autres extensions