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.

 

Descargar archivo: