List y arrays son intercambiables, con la
principal diferencia de que en un array hay que indicar el tamaño al
construirlo, mientras que las List se adaptan automáticamente al número de
datos que contienen.
arrays |
List |
String[] x; |
List<String> x; |
x = new String[1000]; |
x = new ArrayList<String>(); |
... = x[20]; |
... = x.get(20); |
x[20] = "1492"; |
x.set(20, "1492"); |
|
x.add("2001"); |
Si necesita un array y tiene una lista:
java.util.List list = Arrays.asList(array);
Trabaja sobre Object:
public static
List asList(Object[] a)
Si tiene una lista y necesita un array:
Object array[] = list.toArray();
Trabaja sobre Object:
public Object[]
toArray()
Si ya tiene el array creado y desea
llenarlo con los elementos de la lista:
public Object[]
toArray(Object[] a)
Una ventaja de este último método es que
respeta el tipo de los elementos, lo que combinado con el hecho de que crea el
array si no existe o si no tiene espacio para todos los elementos de la lista,
permite escribir cosas de este tipo:
String[] x =
(String[]) v.toArray(new String[0]);
Ver “¿arrays o listas?
Temas relacionados
23. List<E> (interface) java.util.List<E>