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;Sortie:
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);
}
}
[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;Sortie:
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);
}
}
[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:
ArrayListalist = new ArrayList (Collections.nCopies(nbfois, element));
Exemple;
Syntaxe:
import java.util.ArrayList;Sortie:
import java.util.Collections;
public class Initialise {
public static void main (String args[]) {
ArrayListlist = new ArrayList (Collections.nCopies(5, "a"));
System.out.println(list);
}
}
[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:
ArrayListExemple:arlist = new ArrayList (){{
add(o1);
add(o2);
add(o3);
...
...
}};
import java.util.ArrayList;Sortie:
public class Initialise {
public static void main (String args[]) {
ArrayListpays = new ArrayList (){{
add("turquie");
add("malaisie");
add("france");
}};
System.out.println(pays);
}
}
[turquie, malaisie, france]