Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Vista previa

ArrayList: listas que crecen

Esta es la primera página de la lección. Léela y prueba las actividades. El resto está en el curso completo.

40 minutos

Una lista de la compra no es fija

Apuntas leche, pan y huevos. Luego te acuerdas de la fruta y la añades. Después tachas el pan porque ya lo tienes.

Una lista de verdad crece y mengua mientras la usas.

Un array no puede: su tamaño se fija al crearlo. Para esto Java tiene ArrayList.

Palabras clave

PalabraQué significaEjemplo
ArrayListUna lista que crece y mengua sola. Se parece a un array, pero cambia de tamaño.new ArrayList<String>()
<String>Lo que va entre los signos < y > dice qué clase de valores guarda la lista.ArrayList<String>
addMétodo que añade un valor al final de la lista.list.add("pan")
sizeMétodo que dice cuántos valores hay ahora.list.size()
removeMétodo que borra un valor, por su posición o por su valor.list.remove(0)

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Un array que se estira

Un ArrayList guarda valores en orden, igual que un array. La primera posición también es la 0.

Pero no hay que decir su tamaño al crearlo. Empieza vacío y tú vas añadiendo con add.

Para importarlo, escribe import java.util.ArrayList; en la primera línea.

Pruébalo: la lista de la compra

Código: java
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> shopping = new ArrayList<String>();
        shopping.add("leche");
        shopping.add("pan");
        shopping.add("huevos");

        System.out.println("Hay " + shopping.size() + " cosas.");
        System.out.println("La primera es " + shopping.get(0));

        // La lista crece sola.
        shopping.add("fruta");
        System.out.println(shopping);
    }
}

Array frente a ArrayList

Qué quieresArrayArrayList
Cuántos valores hayvalues.lengthlist.size()
Leer la posición 2values[2]list.get(2)
Cambiar la posición 2values[2] = x;list.set(2, x);
Añadir uno másNo se puedelist.add(x);

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Borrar y buscar

Con remove borras. Puedes darle una posición, remove(0), o un valor, remove("pan").

Cuando borras, los de detrás se corren un puesto a la izquierda. La lista se cierra sin huecos.

Con contains preguntas si un valor está. Con indexOf pides su posición, o -1 si no está.

Pruébalo: tachar de la lista

Código: java
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> shopping = new ArrayList<String>();
        shopping.add("leche");
        shopping.add("pan");
        shopping.add("huevos");

        shopping.remove("pan");
        System.out.println(shopping);

        shopping.remove(0);
        System.out.println(shopping);

        System.out.println(shopping.contains("huevos"));
        System.out.println(shopping.indexOf("leche"));
        System.out.println(shopping.isEmpty());
    }
}

Ejemplo resuelto: cómo cambia la lista

OrdenLa lista quedasize()
Se crea vacía[]0
add("leche"), add("pan"), add("huevos")[leche, pan, huevos]3
remove("pan")[leche, huevos]2
remove(0)[huevos]1

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Repaso rápido

Inténtalo

Repaso rápido

3 preguntas
Pruébalo: tus respuestas se corrigen aquí y después se olvidan. Inicia sesión si quieres que se guarde tu puntuación y continuar donde lo dejaste.Iniciar sesión para guardar tu puntuación

Tus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.

La lección continúa

8 partes más de esta lección están en el curso completo, con los ejercicios y la comprobación final. Una cuenta te da todo.