Convertir un array en una lista

30/Jun/2007 Java , , , 8 Comentarios

El framework Collections no solo nos proporciona un gran número de estructuras de datos para el desarrollo, sino que nos aporta una serie de algoritmos para su manejo y manipulación (ordenación, búsqueda, cálculos,...). Todo ello lo agrupa en un framework donde mediante clases abstractas e interfaces ofrece los algoritmos.

Uno de estos algoritmos nos permite transformar los "arrays de toda la vida" en alguna de las estructura del framework Collections, consiguiendo, así, todas las ventajas de la manipulación de Colecciones.

El método que nos permite la transformación, en este caso a una estructura List, es:

  1. .asList( Array[] )

que lo encontramos en la clase abstracta Arrays. Nos basta con invocarlo directamente ya que es un método estático.

Lo primero será crear un array e incializarlo:

  1. String[] cadenas = new String[3];
  2. cadenas[0] = "Victor";
  3. cadenas[1] = "Amaya";
  4. cadenas[2] = "Luis";

Una vez que tengamos el array tenemos que definir la lista a la cual transformaremos el array:

  1. List lista = new ArrayList();

y solo nos quedará invocar al método .asList():

  1. lista = Arrays.asList(cadenas);

Vídeos sobre Java


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

8 comentarios en “Convertir un array en una lista”

Víctor Cuervo

Víctor Cuervo

@Enrique, te lo hemos dejado más detallado en
http://lineadecodigo.com/java/convertir-una-lista-en-un-array/

Espero que te ayude.
Saludos.

Víctor Cuervo

Víctor Cuervo

@Enrique, sería con el método .toArray()

ArrayList milista = new ArrayList();
milista.add("Elemento 1");
milista.add("Elemento 2");

String[] miarray = new String[milista.size()];
miarray = milista.toArray(miarray);

for(String s : miarray)
  System.out.println(s);
Víctor Cuervo

Enrique

¿Y al contrario?
Si parto de tener una lista, por ejemplo Lista la que contiene:(Nombre, Direccion), y quiero pasarlo a un array o vector/Matriz
¿Como lo puedo hacer?

Víctor Cuervo

lineadecodigo

@InJeNiErO,

Tienes toda la razón. Es mucho más optimizado el código instanciando la lista sobre la conversión de array.

Muchas gracias por tu aportación.

Víctor Cuervo

InJeNiErO

Esta línea esta demás:

List lista = new ArrayList();

Ya que en la siguiente se sobreescribe la referencia guardada en lista con el valor devuelto por:

lista = Arrays.asList(cadenas);

Saludos.

Víctor Cuervo

david c

tengo listas enlazadas y su cabeza esta dada por un número entero, y quiero organizarlo de mayor a menor (ya lo hice), pero como segundo item de ordenación viene dado por el nombre de ese número, algo así como ordenar por años, si es igual los años, ordene por nombres. Se me ocurrio sacar los nombres aparte en otro arreglo para ordenarlo, y eso lo hace perfectamente, pero a la hora de concatenar toda la información, me pierdo… no se como mostrar tambien a la vez los años.

y una pregunta adicional, esto que se acaba de hacer, no se puede hacer mediante una matriz???

Víctor Cuervo

Claudia Torres

La respuesta a Mihuel Angel es la siguiente manera:

String caracteres = “100101101”;
List caracter = new ArrayList();

String numero;

for (int j = 0; j < caracteres.length(); j++) {
numero = caracteres.substring(j,j+1);
caracter.add(Integer.parseInt(numero));
}

Víctor Cuervo

Miguel Angel Sánchez Mora

Como convertir una cadena de caracteres ( “1011001101” ) , a un array de Enteros, suponiendo que el usuario introduce solo simbolos del alfabeto {0,1}.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*