Java >> Java tutorial >  >> Tag >> ArrayList

Bedste måde at initialisere ArrayList på én linje | Java liste

Faktisk er den "bedste" måde at initialisere ArrayList på, at metoden ikke er nødvendig for at oprette en ny liste på nogen måde. Der er mange måder at gøre dette på, fordi java-versioner er ændret. Først skal du finde ud af, hvilken måde der er den bedste måde at initialisere ArrayList på på én linje.

Normal måde:- Multiline

Se nedenfor kun en hel del indtastning, der kræves for at henvise til den list eksempel.

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

Alternativ måde:- initialisering med dobbelt klammeparentes

Her er en anden måde at lave en anonym indre klasse med en instansinitialiserer (også kendt som en "double brace initialization").

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

Simpel måde:- Java 9 eller nyere

List.of() metoden blev tilføjet til Java 9.

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

I Java 10 eller nyere, efter var søgeord blev tilføjet:

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

Dette vil give dig en uforanderlig List , så det kan ikke ændres.

Java 8 eller tidligere:

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

Dette vil give dig en List understøttet af arrayet, så det kan ikke ændre længden.
Men du kan ringe til List.set , så den kan stadig ændres.

Sp:Hvordan gør Java-programmet tilføjer elementer til ArrayList på én linje?

Svar: I Java 9 kan vi nemt initialisere en ArrayList på en enkelt linje:

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

Men steder er uforanderlige (hvis du prøver at ændre det, vil det forårsage en UnsupportedOperationException undtagelsen, der skal kastes).

Eksempel:tilføjelse af nyt sted

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");
    }
    
}

Fejl:-

Skriv en kommentar, hvis du er i tvivl eller spørgsmål om denne øvelse.

Bemærk: Dette eksempel (projekt) er udviklet i IntelliJ IDEA 2018.2.6 (Community Edition)
JRE:11.0.1
JVM:OpenJDK 64-Bit Server VM af JetBrains s.r.o
macOS 10.14.1
Java version 11
Alle Java-initialisering af en ArrayList på én linje koder er i Java 11, så det kan ændre sig på anderledes end Java 9 eller 10 eller opgraderede versioner.


Java tag