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'];
}
}
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
:
Construit une liste vide d'une capacité initiale de dix.
ArrayList(Collection<? extends E> c)
(*)
Construit une liste contenant les éléments de la collection spécifiée, dans l'ordre dans lequel ils sont renvoyés par l'itérateur de la collection.
ArrayList(int initialCapacity)
Construit une liste vide avec la capacité initiale spécifiée.
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");
Vous pouvez faire comme ça:
List<String> temp = new ArrayList<String>(Arrays.asList("1", "12"));
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;
)
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.
Utilisez celui-ci:
ArrayList<String> x = new ArrayList(Arrays.asList("abc", "mno"));