Transformar un array en ArrayList Java. Método asList (clase Arrays). Ejemplo constructores. (CU00679B)

Resumen: Entrega nº79 del curso "Aprender programación Java desde cero". 
Codificación aprenderaprogramar.com: CU00679B 

 

 

TRANSFORMAR ARRAY EN UNA LISTA. MÉTODO ASLIST.

La clase Arrays tiene un método denominado asList que devuelve un tipo List cuando se le invoca pasándole un array como parámetro. Vamos a plantear el siguiente ejercicio: declararemos un array de Strings que contenga los nombres de cuatro animales, y a continuación crearemos un ArrayList que tendrá el mismo contenido que el array.

 

 

Escribe y compila el siguiente código:

import java.util.List;  //Ejemplo generar una lista a partir de un array aprenderaprogramar.com

import java.util.ArrayList;

import java.util.Arrays;

 

public class TestAsList {

public static void main (String [ ] Args) {

        List <String> miListaDePalabras = new ArrayList <String> ();

        String [ ] miArrayDePalabras = {"Oso", "León", "Buey", "Guepardo"};

        System.out.println ("Contenido inicial del ArrayList: " + miListaDePalabras);

        miListaDePalabras = Arrays.asList (miArrayDePalabras);

        System.out.println ("Contenido actual del ArrayList: " + miListaDePalabras + "\n");

 

        List <Integer> miListaDeEnteros = new ArrayList <Integer> ();

        Integer [ ] miArrayDeEnteros = {11, -34, 56, 78};

        System.out.println ("Contenido inicial del ArrayList: " + miListaDeEnteros);

        miListaDeEnteros = Arrays.asList (miArrayDeEnteros);

        System.out.println ("Contenido actual del ArrayList: " + miListaDeEnteros);

    } //Cierre del main

} //Cierre de la clase ejemplo aprenderaprogramar.com

 

 

El resultado es similar a este:

Contenido inicial del ArrayList: [ ]

Contenido actual del ArrayList: [Oso, León, Buey, Guepardo]

Contenido inicial del ArrayList: [ ]

Contenido actual del ArrayList: [11, -34, 56, 78]

 

 

Fíjate que hemos definido un array de Integers y no un array de int. Si utilizáramos una declaración como int [ ] miArrayDeEnteros = {11, -34, 56, 78}; tendríamos un error de compatibilidad de tipos. Este es un primer ejemplo de uso de un tipo (List) definido por una interface. Vamos a ver ahora otra forma de uso de un tipo definido por una interface. Para ello vamos a consultar la documentación de la clase ArrayList, y en concreto uno de sus constructores:

ArrayList (Collection <? extends E> c)

 

Crea un ArrayList que contiene los elementos de la colección que se pase como parámetro, en el orden que devuelve el iterador de la colección.

 

 

Este es otro constructor de la clase ArrayList, distinto al que estamos acostumbrados a usar basado en crear un ArrayList vacío. En este código vemos un ejemplo de uso:

import java.util.ArrayList; import java.util.LinkedList; //Ejemplo aprenderaprogramar.com

public class TestConstructor2AL {

    public static void main (String [ ] Args) {

        LinkedList<String> miListaStrings = new LinkedList<String>();

        miListaStrings.add ("Liebre");

        miListaStrings.add ("Perro");

        ArrayList <String> miArrayListStrings = new ArrayList <String> (miListaStrings); //Ejemplo nuevo constructor

        System.out.println ("Contenido del LinkedList " + miListaStrings);

        System.out.println ("Contenido del ArrayList " + miArrayListStrings);

    } } //Cierre del main y de la clase

 

 

En este ejemplo vemos cómo creamos un ArrayList pasando como parámetro un tipo Collection. LinkedList es una de las clases que implementa la interface Collection, por tanto podemos pasarla en este constructor. De esta forma, el ArrayList tiene el contenido inicial que tiene la colección que se le pasa como parámetro y al ejecutar el programa obtenemos: Contenido del LinkedList [Liebre, Perro] ; Contenido del ArrayList [Liebre, Perro].

 

 

EJERCICIO

Declara un array que contenga seis booleanos que sean true, true, false, false, true, false. A continuación, crea una lista de tipo LinkedList a partir de dicho array usando la clase Arrays del api de Java. Puedes comprobar si tu código es correcto consultando en los foros aprenderaprogramar.com.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

Donar o colaborar

Este sitio se mantiene abierto gracias al apoyo de muchas personas. Si crees que merece la pena apoyar económicamente este sitio web puedes realizar una donación o colaborar. Contacta con nosotros.

¿Puedo yo aprender?

Seas o no del área informática, si quieres aprender a programar te ofrecemos una solución guiada y personalizada: realizar un curso tutorizado on-line. Con este tipo de curso, podrás aprender a programar de forma ágil y amena.

Acceder a detalles y precios de los cursos tutorizados on-line

Política sobre cookies

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, de acuerdo a tus hábitos de navegación.

Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra Política de Cookies.

En Facebook!

Ahora puedes seguirnos en Facebook. Noticias, novedades y mucho más ¡Te esperamos!

RANKING APR2+

Ranking de lenguajes y entornos de programación aprenderaprogramar.com
 

SEPTIEMBRE - OCTUBRE 2017

1. Java / J2EE
2. Entornos Oracle
3. Entornos SQL Server
4. .NET, C#
5. JavaScript, jQuery
6. HTML, CSS
7. Php, MySql
8. Android, iOS


Acceder a detalles sobre el ranking de programación aprenderaprogramar.com

FOROS APR2+

Pregunta, responde, consulta, lee, intercambia...

Participa!!! Entra en los foros aprenderaprogramar.com.

             Copyright 2006-2017 aprenderaprogramar.com                La web abierta a cualquier persona interesada en la programación