¿Cómo declarar un ArrayList con valores? [duplicate]

3 minutos de lectura

avatar de usuario
alvas

La declaración ArrayList o List en Java ha cuestionado y respondido cómo declarar un vacío ArrayList pero ¿cómo declaro una ArrayList con valores?

He intentado lo siguiente pero devuelve un error de sintaxis:

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'];
    }
}

avatar de usuario
Marún

En Java 9+ puedes hacer:

var x = List.of("xyz", "abc");
// 'var' works only for local variables

Java 8 usando Stream:

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

Y, por supuesto, puede crear un nuevo objeto utilizando el constructor que acepta un Collection:

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

Consejo: El documentos contiene información muy útil que normalmente contiene la respuesta que estás buscando. Por ejemplo, aquí están los constructores del ArrayList clase:

  • Construye una lista vacía con la capacidad inicial especificada.

    Use List en el LHS en lugar de ArrayList, si no necesita absolutamente un ArrayList allí. Y use el operador de diamante en el RHS para evitar advertencias.

    – Puce

  • 11 de febrero de 2014 a las 8:50

    solución corta y limpia

    – usuario3896501

  • 30 de septiembre de 2015 a las 6:22 List<String> x = Arrays.asList("xyz", "abc") ¿Por qué envuelves con new ArrayList<>()?

    está bien

    – mystdeim

  • 30 de noviembre de 2015 a las 7:21

    La solución de flujo es elegante.

    –Eidán Spiegel

  • 14/03/2016 a las 19:30

    No hay problema en repetir partes del documento: StackOverflow probablemente sea más visitado de todos modos.

    –Graham

02/04/2016 a las 11:05
avatar de usuario

Pardo rojizo

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

Usar:Si no desea agregar nuevos elementos a la lista más adelante, también puede usar ( Arreglos.asList

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

devuelve una lista de tamaño fijo):

import static java.util.Arrays.asList;

Nota: también puede usar una importación estática si lo desea, luego se ve así:

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

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

  • o contains Gracias por el tamaño fijo. es mas rapido en Set<List<T>> = Arrays.asList("a","b");

    método de

    – Eftekhari

25 de junio de 2019 a las 16:15

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

Puedes hacer esto: los biblioteca de guayaba

contiene métodos convenientes para crear listas y otras colecciones, lo que lo hace mucho más bonito que usar las clases de biblioteca estándar.

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

Ejemplo: import static com.google.common.collect.Lists.newArrayList;(Esto supone

)
avatar de usuario

Drogba

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

¡Prueba esto! ArrayList Es una buena práctica declarar el List con interfaz

si no tiene que invocar los métodos específicos.
avatar de usuario

Rajendra Arora

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

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad