Java >> Tutoriel Java >  >> Tag >> ArrayList

Meilleur moyen d'initialiser ArrayList en une seule ligne | Liste Java

En fait, la "meilleure" façon d'initialiser ArrayList est probablement que la méthode n'est en aucun cas nécessaire pour créer une nouvelle liste. Il existe de nombreuses façons de procéder car les versions de Java sont modifiées. Tout d'abord, déterminez le moyen, puis décidez quel est le meilleur moyen d'initialiser ArrayList en une seule ligne.

Voie normale :- Multiligne

Voir ci-dessous seulement un peu de frappe nécessaire pour faire référence à ce list exemple.

ArrayList list = new ArrayList();
list.add("A");
list.add("B");
list.add("C");

Méthode alternative :- initialisation de la double accolade

Voici une autre façon de créer une classe interne anonyme avec un initialiseur d'instance (également appelé "initialisation à double accolade").

ArrayList list = new ArrayList() {{
    add("A");
    add("B");
    add("C");
}};

Méthode simple :- Java 9 ou version ultérieure

List.of() la méthode a été ajoutée à Java 9.

List<String> strings = List.of("foo", "bar", "baz");

Dans Java 10 ou version ultérieure, après le var le mot-clé a été ajouté :

var strings = List.of("foo", "bar", "baz");

Cela vous donnera un List immuable , il ne peut donc pas être modifié.

Java 8 ou version antérieure :

List strings = Arrays.asList("foo", "bar", "baz");

Cela vous donnera un List soutenu par le tableau, il ne peut donc pas changer de longueur.
Mais vous pouvez appeler le List.set , il est donc toujours modifiable.

Q :Comment le programme Java ajoute-t-il des éléments à ArrayList sur une seule ligne ?

Réponse : En Java 9, nous pouvons facilement initialiser un ArrayList en une seule ligne :

List places = List.of("Buenos Aires", "Córdoba", "La Plata");

Mais les lieux sont immuables (essayer de le modifier entraînera un UnsupportedOperationException l'exception à lever).

Exemple :ajouter un nouveau lieu

import java.util.List;

public class Hello {


    public static void main(String[] arg){

        List places = List.of("Buenos Aires", "Córdoba", "La Plata");
        places.add("USA");
    }
    
}

Erreur :-

N'hésitez pas à commenter si vous avez des doutes ou des questions sur ce tutoriel.

Remarque : Cet exemple (Project) est développé dans IntelliJ IDEA 2018.2.6 (Community Edition)
JRE :11.0.1
JVM :VM serveur OpenJDK 64 bits par JetBrains s.r.o
mac OS 10.14.1
Java 11
Tous Initialisation Java d'une ArrayList en une seule ligne de codes sont en Java 11, il peut donc changer selon Java 9 ou 10 ou les versions mises à niveau.


Balise Java