Classe Java ArrayList
Classe ArrayList Java
Dans ce tutoriel, nous allons découvrir la classe ArrayList en Java. Nous apprendrons les différentes opérations et méthodes de l'arraylist à l'aide d'exemples.
Le ArrayList
classe du framework de collections Java fournit la fonctionnalité de resizable-arrays .
Il implémente le List
interface.

Java ArrayList contre Array
En Java, nous devons déclarer la taille d'un tableau avant de pouvoir l'utiliser. Une fois la taille d'un tableau déclarée, il est difficile de la modifier.
Pour gérer ce problème, nous pouvons utiliser le ArrayList
classer. Cela nous permet de créer des tableaux redimensionnables.
Contrairement aux tableaux, les arraylists peuvent ajuster automatiquement leur capacité lorsque nous y ajoutons ou en supprimons des éléments. Par conséquent, les listes de tableaux sont également appelées tableaux dynamiques .
Création d'une ArrayList
Avant d'utiliser ArrayList
, nous devons importer le java.util.ArrayList
paquet d'abord. Voici comment nous pouvons créer des arraylists en Java :
ArrayList<Type> arrayList= new ArrayList<>();
Ici, Tapez indique le type d'une arraylist. Par exemple,
// create Integer type arraylist
ArrayList<Integer> arrayList = new ArrayList<>();
// create String type arraylist
ArrayList<String> arrayList = new ArrayList<>();
Dans le programme ci-dessus, nous avons utilisé Integer
pas int. C'est parce que nous ne pouvons pas utiliser de types primitifs lors de la création d'une liste de tableaux. Au lieu de cela, nous devons utiliser les classes wrapper correspondantes.
Ici, Integer
est la classe wrapper correspondante de int
. Pour en savoir plus, visitez la classe wrapper Java.
Exemple :créer une liste de tableaux en Java
import java.util.ArrayList;
class Main {
public static void main(String[] args){
// create ArrayList
ArrayList<String> languages = new ArrayList<>();
// Add elements to ArrayList
languages.add("Java");
languages.add("Python");
languages.add("Swift");
System.out.println("ArrayList: " + languages);
}
}
Sortie
ArrayList: [Java, Python, Swift]
Dans l'exemple ci-dessus, nous avons créé un ArrayList
langues nommées .
Ici, nous avons utilisé le add()
méthode pour ajouter des éléments à l'arraylist. Nous en apprendrons plus sur le add()
méthode plus loin dans ce didacticiel.
Opérations de base sur ArrayList
Le ArrayList
La classe fournit diverses méthodes pour effectuer différentes opérations sur les listes de tableaux. Nous examinerons certaines opérations d'arraylist couramment utilisées dans ce didacticiel :
- Ajouter des éléments
- Éléments d'accès
- Modifier des éléments
- Supprimer des éléments
1. Ajouter des éléments à une ArrayList
Pour ajouter un seul élément à l'arraylist, nous utilisons le add()
méthode du ArrayList
classer. Par exemple,
import java.util.ArrayList;
class Main {
public static void main(String[] args){
// create ArrayList
ArrayList<String> languages = new ArrayList<>();
// add() method without the index parameter
languages.add("Java");
languages.add("C");
languages.add("Python");
System.out.println("ArrayList: " + languages);
}
}
Sortie
ArrayList: [Java, C, Python]
Dans l'exemple ci-dessus, nous avons créé un ArrayList
langues nommées . Ici, nous avons utilisé le add()
méthode pour ajouter des éléments aux langues .
Pour en savoir plus, visitez Java ArrayList add().
Autre façon d'ajouter des éléments à l'arraylist
Comment ajouter un élément à une position spécifiée dans une ArrayList ?
Nous pouvons également transmettre un numéro d'index comme paramètre supplémentaire au add()
méthode pour ajouter un élément à la position spécifiée. Par exemple,
// add JavaScript at index 1
languages.add(1, "JavaScript");
// add C++ at index 3
languages.add(3, "C++");
Comment ajouter tous les éléments d'un ensemble à une liste de tableaux ?
On peut aussi ajouter tous les éléments d'une collection (set, map) à une arraylist en utilisant le addAll()
méthode. Par exemple,
import java.util.ArrayList;
import java.util.HashSet;
class Main {
public static void main(String[] args) {
// create a set
HashSet<String> vowels = new HashSet<>();
vowels.add("a");
vowels.add("e");
vowels.add("i");
// create an arraylist
ArrayList<String> alphabets = new ArrayList<>();
// add all elements of set to arraylist
alphabets.addAll(vowels);
System.out.println("ArrayList: " + alphabets);
}
}
// Output: ArrayList: [a, e, i]
Pour en savoir plus, visitez Java ArrayList addAll().
2. Accéder aux éléments ArrayList
Pour accéder à un élément de l'arraylist, nous utilisons le get()
méthode du ArrayList
classer. Par exemple,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> animals = new ArrayList<>();
// add elements in the arraylist
animals.add("Cat");
animals.add("Dog");
animals.add("Cow");
System.out.println("ArrayList: " + animals);
// get the element from the arraylist
String str = animals.get(1);
System.out.print("Element at index 1: " + str);
}
}
Sortie
ArrayList: [Cat, Dog, Cow] Element at index 1: Dog
Dans l'exemple ci-dessus, nous avons utilisé le get()
méthode avec le paramètre 1 . Ici, la méthode retourne l'élément à index 1 .
Pour en savoir plus, visitez Java ArrayList get().
On peut aussi accéder aux éléments du ArrayList
en utilisant le iterator()
méthode. Pour en savoir plus, visitez Java ArrayList iterator().
3. Modifier les éléments ArrayList
Pour changer les éléments de l'arraylist, on utilise le set()
méthode du ArrayList
classer. Par exemple,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the array list
languages.add("Java");
languages.add("Kotlin");
languages.add("C++");
System.out.println("ArrayList: " + languages);
// change the element of the array list
languages.set(2, "JavaScript");
System.out.println("Modified ArrayList: " + languages);
}
}
Sortie
ArrayList: [Java, Kotlin, C++] Modified ArrayList: [Java, Kotlin, JavaScript]
Dans l'exemple ci-dessus, nous avons créé un ArrayList
langues nommées . Remarquez la ligne,
language.set(2, "JavaScript");
Ici, le set()
la méthode change l'élément à index 2 en JavaScript .
Pour en savoir plus, visitez Java ArrayList set().
4. Supprimer les éléments ArrayList
Pour supprimer un élément de l'arraylist, nous pouvons utiliser le remove()
méthode du ArrayList
classer. Par exemple,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> animals = new ArrayList<>();
// add elements in the array list
animals.add("Dog");
animals.add("Cat");
animals.add("Horse");
System.out.println("ArrayList: " + animals);
// remove element from index 2
String str = animals.remove(2);
System.out.println("Updated ArrayList: " + animals);
System.out.println("Removed Element: " + str);
}
}
Sortie
ArrayList: [Dog, Cat, Horse] Updated ArrayList: [Dog, Cat] Removed Element: Horse
Ici, le remove()
la méthode prend le numéro d'index comme paramètre. Et supprime l'élément spécifié par le numéro d'index .
Pour en savoir plus, visitez Java ArrayList remove().
Nous pouvons également supprimer tous les éléments de l'arraylist en une seule fois. Pour en savoir plus, visitez
- Java ArrayList removeAll()
- Java ArrayList clear()
Méthodes de la classe ArrayList
Dans la section précédente, nous avons découvert le add()
, get()
, set()
, et remove()
méthode du ArrayList
classe.
En plus de ces méthodes de base, voici quelques autres ArrayList
méthodes couramment utilisées.
Méthodes | Descriptions |
---|---|
taille() | Renvoie la longueur de l'arraylist. |
trier() | Trier les éléments de l'arraylist. |
cloner() | Crée une nouvelle liste de tableaux avec le même élément, la même taille et la même capacité. |
contient() | Recherche dans l'arraylist l'élément spécifié et renvoie un résultat booléen. |
assureCapacity() | Spécifie l'élément total que l'arraylist peut contenir. |
isEmpty() | Vérifie si la liste de tableaux est vide. |
indexOf() | Recherche un élément spécifié dans une liste de tableaux et renvoie l'index de l'élément. |
Si vous souhaitez en savoir plus sur toutes les différentes méthodes d'arraylist, consultez les méthodes Java ArrayList.
Itérer dans une ArrayList
Nous pouvons utiliser la boucle Java for-each pour parcourir chaque élément de l'arraylist. Par exemple,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// creating an array list
ArrayList<String> animals = new ArrayList<>();
animals.add("Cow");
animals.add("Cat");
animals.add("Dog");
System.out.println("ArrayList: " + animals);
// iterate using for-each loop
System.out.println("Accessing individual elements: ");
for (String language : animals) {
System.out.print(language);
System.out.print(", ");
}
}
}
Sortie
ArrayList: [Cow, Cat, Dog] Accessing individual elements: Cow, Cat, Dog,
Foire aux questions
Quelle est la différence entre Java ArrayList et LinkedList ?
Certaines des principales différences entre ArrayList
et LinkedList
en Java sont :
ArrayList | Liste liée |
Mise en œuvre List interface | Mise en œuvre List , Queue , et Deque interfaces. |
Stocke une seule valeur. | Stocke 3 valeurs :données, adresse précédente et suivante |
Fournit la fonctionnalité d'un tableau redimensionnable. | Fournit la fonctionnalité de liste à double lien |
Nous pouvons convertir le ArrayList
dans un tableau en utilisant le toArray()
méthode. Par exemple,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the array list
languages.add("Java");
languages.add("Python");
languages.add("C++");
System.out.println("ArrayList: " + languages);
// create a new array of String type
String[] arr = new String[languages.size()];
// convert ArrayList into an array
languages.toArray(arr);
System.out.print("Array: ");
// access elements of the array
for (String item : arr) {
System.out.print(item + ", ");
}
}
}
Sortie
ArrayList: [Java, Python, C++] Array: Java, Python, C++,
Dans l'exemple ci-dessus, le toArray()
la méthode convertit les langues arraylist dans un tableau et le stocke dans arr . Pour en savoir plus, visitez Java ArrayList toArray().
Nous utilisons le asList()
méthode du Arrays
classer. Pour utiliser asList()
, il faut importer le java.util.Arrays
paquet d'abord. Par exemple,
import java.util.ArrayList;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
// create an array of String type
String[] arr = { "Java", "Python", "C++" };
System.out.print("Array: ");
// print array
for (String str : arr) {
System.out.print(str);
System.out.print(" ");
}
// create an ArrayList from an array
ArrayList<String> languages = new ArrayList<>(Arrays.asList(arr));
System.out.println("\nArrayList: " + languages);
}
}
Sortie
Array: Java Python C++ ArrayList: [Java, Python, C++]
Dans le programme ci-dessus, nous avons d'abord créé un tableau arr
du String
taper. Remarquez l'expression,
Arrays.asList(arr)
Ici, le asList()
convertit le tableau en une liste de tableaux.
Nous utilisons le Arrays.asList()
méthode pour créer et initialiser une arraylist en une seule ligne. Par exemple,
import java.util.ArrayList;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
// create and initialize ArrayList
ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C"));
System.out.println("ArrayList: " + languages);
}
}
// Output: ArrayList: [Java, Python, C]
Comment convertir une ArrayList en String ?
Nous utilisons le toString()
méthode du ArrayList
classe pour convertir une liste de tableaux en une chaîne. Par exemple,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the ArrayList
languages.add("Java");
languages.add("Python");
languages.add("Kotlin");
System.out.println("ArrayList: " + languages);
// convert ArrayList into a String
String str = languages.toString();
System.out.println("String: " + str);
}
}
Sortie
ArrayList: [Java, Python, Kotlin] String: [Java, Python, Kotlin]
Ici, le toString()
convertit l'ensemble de la liste de tableaux en une seule chaîne. Pour en savoir plus, visitez Java ArrayList toString().
Nous pouvons également créer une arraylist en utilisant l'interface List. C'est parce que la classe ArrayList implémente l'interface List. Voyons un exemple,
import java.util.ArrayList;
import java.util.List;
class Main {
public static void main(String[] args) {
// create arraylist using List
List<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("Python");
languages.add("C");
System.out.println("ArrayList: " + languages);
}
}
// Output: ArrayList: [Java, Python, C]
Java