Introdução

Aprendemos sobre arrays e até nos aventuramos em arrays multidimensionais. Infelizmente, os arrays têm muitas limitações e às vezes podem ser difíceis de usar. Uma limitação de um array é seu tamanho explícito. Se você tiver apenas 10 elementos de espaço alocado nessa matriz, poderá armazenar apenas até 10 elementos. ArrayLists (Lista de Vetores) são uma ótima estrutura de dados que possui um tamanho dinâmico, o que significa que você pode adicionar ou subtrair itens a qualquer momento. Há muito mais coisas que ArrayLists podem fazer, e é isso que torna as ArrayLists estruturas de dados tão poderosas.

Quatro caixas com números em ordem ascendente de 0 a 3, com um sinal de menor à esquerda e um sinal de maior à direita

Antes de criarmos um ArrayList, teremos que importar a classe ArrayList. Vai parecer algo assim.

import java.util.ArrayList; // importar a classe ArrayList

Lembre-se, nosso objetivo é criar um ArrayList que acompanhe o pedido do cliente. Podemos fazer isso assim:

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> order = new ArrayList<String>();
    }
}

Como você pode ver, semelhante ao array, temos que declarar quais tipos de dados o ArrayList conterá. Neste caso, faremos com que contenha Strings, já que os itens de menu serão Strings.

Para adicionar itens a um pedido, usaremos o método add(). Se o cliente estivesse fazendo um pedido no Burger King e quisesse pedir um combo com Whopper, nuggets de frango e batatas fritas, seu método poderia ser mais ou menos assim.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> order = new ArrayList<String>();
        order.add("Whopper");
        order.add("Nuggets");
        order.add("Batata Frita");
    }
}

Se quiséssemos obter o primeiro item de um ArrayList, você usaria o método get() junto com o número de índice do elemento assim:

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> order = new ArrayList<String>();
        order.add("Whopper");
        order.add("Nuggets");
        order.add("Batata Frita");
        System.out.println(order.get(0));
        // Saída: Whopper
  }
}

Existem muitos outros métodos que você pode usar em um ArrayList, mas isso é apenas a essência do que um ArrayList pode fazer. Os métodos podem ser encontrados na próxima página.