Comment initialiser un ArrayList en Java

Dans ce tutoriel, on va voir 4 méthodes pour initialiser un ArrayList en Java avec des exemples:

1) Arrays.asList

La méthode Arrays.asList prend une liste d'objets en entrée o1, o2...,on. Sa syntaxe est la suivante:

ArrayList arlist = new ArrayList(Arrays.asList(Object o1, Object o2,...,Object on));
Exemple:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Initialise {
public static void main (String args[]) {

// créer un tableau de String
String a[] = new String[]{"a","b","c","d"};

ArrayList arlist = new ArrayList(Arrays.asList(a));

// Afficher les objets
System.out.println(arlist);
}
}
Sortie:

[a, b, c, d]

2) Méthode add()

add(E e) est la méthode de base pour ajouter des éléments à une ArrayList.

Exemple:

import java.util.ArrayList;

public class Initialise {
public static void main (String args[]) {

ArrayList arlist = new ArrayList(Arrays.asList(a));

arlist.add("a");
arlist.add("b");
arlist.add("c");
arlist.add("d");

System.out.println(arlist);
}
}
Sortie:

[a, b, c, d]

3) Collections.ncopies

La méthode Collections.ncopies() peut être utile lors de l'initialisation de ArrayList avec la même valeur pour tous les éléments. Sa syntaxe est la suivante:

ArrayList alist = new ArrayList(Collections.nCopies(nbfois, element));
Exemple;

import java.util.ArrayList;
import java.util.Collections;

public class Initialise {
public static void main (String args[]) {

ArrayList list = new ArrayList(Collections.nCopies(5, "a"));
System.out.println(list);

}
}
Sortie:

[a, a, a, a, a]

4) Classe anonyme

Une classe anonyme est une expression, sa syntaxe ressemble à l'appel d'un constructeur sauf que dans son corps, la déclaration et l'appel des méthodes sont permis.

Syntaxe:

ArrayList arlist = new ArrayList(){{
add(o1);
add(o2);
add(o3);
...
...
}};
Exemple:

import java.util.ArrayList;

public class Initialise {
public static void main (String args[]) {
ArrayList pays = new ArrayList(){{
add("turquie");
add("malaisie");
add("france");
}};
System.out.println(pays);
}
}
Sortie:

[turquie, malaisie, france]