web-dev-qa-db-fra.com

Comment déclarer une ArrayList avec des valeurs?

Déclaration ArrayList ou List en Java a interrogé et répondu sur la façon de déclarer un ArrayList vide, mais comment puis-je déclarer un ArrayList avec des valeurs?

J'ai essayé ce qui suit mais cela retourne une erreur de syntaxe:

import Java.io.IOException;
import Java.util.ArrayList;

public class test {
    public static void main(String[] args) throws IOException {
        ArrayList<String> x = new ArrayList<String>();
        x = ['xyz', 'abc'];
    }
}
185
alvas

Dans Java 10+, vous pouvez effectuer les tâches suivantes:

var x = List.of("xyz", "abc");

Java 8 utilisant Stream :

Stream.of("xyz", "abc").collect(Collectors.toList());

Et bien sûr, vous pouvez créer un nouvel objet à l'aide du constructeur qui accepte une Collection :

List<String> x = new ArrayList<>(Arrays.asList("xyz", "abc"));

Conseil: La documentation contient des informations très utiles qui contiennent généralement la réponse que vous recherchez. Par exemple, voici les constructeurs de la classe ArrayList:

366
Maroun

Utilisation:

List<String> x = new ArrayList<>(Arrays.asList("xyz", "abc"));

Si vous ne souhaitez pas ajouter de nouveaux éléments à la liste ultérieurement, vous pouvez également utiliser ( Arrays.asList renvoie une liste de taille fixe):

List<String> x = Arrays.asList("xyz", "abc");

Note: vous pouvez aussi utiliser une importation statique si vous voulez, alors ça ressemble à ça:

import static Java.util.Arrays.asList;

...

List<String> x = new ArrayList<>(asList("xyz", "abc"));

ou

List<String> x = asList("xyz", "abc");
31
Puce

Vous pouvez faire comme ça:

List<String> temp = new ArrayList<String>(Arrays.asList("1", "12"));
26
Vimal Bera

Guava library contient des méthodes pratiques pour créer des listes et d'autres collections, ce qui est beaucoup plus joli que d'utiliser les classes de bibliothèque standard.

Exemple:

ArrayList<String> list = newArrayList("a", "b", "c");

(Ceci suppose import static com.google.common.collect.Lists.newArrayList;)

11
Lii

Essaye ça!

List<String> x = new ArrayList<String>(Arrays.asList("xyz", "abc"));

Il est recommandé de déclarer la ArrayList avec l'interface List si vous n'avez pas à appeler les méthodes spécifiques.

8
Drogba

Utilisez celui-ci:

ArrayList<String> x = new ArrayList(Arrays.asList("abc", "mno"));
6
Rajendra arora