ArrayList
A classe Java ArrayList é uma classe poderosa para processamento de array. Ao usar arrays tradicionais, você está limitado ao tamanho e à estrutura que cria. Com ArrayList, você tem muito mais flexibilidade com arrays. Um dos métodos da classe ArrayList é o método get . Usaremos isso para acessar um item em um local específico na matriz. Primeiro, antes que possamos aproveitar qualquer poder de ArrayList, precisamos importar a classe para nosso programa. Fazemos isso antes de qualquer método principal, importando a classe:
import java.util.ArrayList;
A seguir, vamos criar um objeto ArrayList para alguns funcionários. Vamos definir o tamanho como 5. Ao contrário de uma matriz padrão, você pode alterar isso mais tarde.
ArrayList <String> funcionário = novo ArrayList <String> (5);
funcionários.add ("Jane Eyre");
funcionários.add ("Edmond Dantes");
funcionários.add ("Sherlock Holmes");
funcionários.adicionar ("Jean Valjean");
funcionários.adicionar ("Holden Caulfield");
Agora, para obter um item em um índice específico, usaremos o método get. O método usa um único parâmetro, o índice (geralmente chamado de balde) na matriz que você deseja recuperar. Este número é sempre um inteiro. Lembre-se de que o Java começa a contar do zero. Vamos dar uma olhada no método get para recuperar o quarto item da matriz que definimos anteriormente:
// obtenha o quarto funcionário
System.out.println ("O quarto funcionário é" + funcionários.get (3));
Lembre-se de que o Java começa a contar os índices da matriz em zero. É por isso que o quarto depósito na lista é realmente o item 3. Quando o código anterior é executado, a seguinte saída é exibida:
![]() |
Índice Variável
Você não precisa necessariamente saber qual índice irá acessar. Em uma programação mais avançada, você pode descobrir a necessidade de percorrer um array e verificar se um determinado item da lista possui um determinado valor. O código a seguir percorre nossa matriz de funcionários e verifica se há Sherlock Holmes. Observe que o método get agora tem uma variável para o parâmetro, i . Lembre-se de que este valor SEMPRE deve ser um número inteiro!
para (int i = 0; i <staff.size (); i ++) {
if (workers.get (i) == "Sherlock Holmes") {
System.out.println ("Sherlock");
}
}
Fora dos limites
Assim como a matriz padrão, ArrayList não permitirá que você faça referência a um intervalo que não existe. Se houver sete itens na matriz, você não poderá usar get para acessar um oitavo. O problema é que muitas ferramentas de desenvolvedor não o impedirão. Não é até que você execute o programa que o erro ocorre. Portanto, a seguinte instrução get compilará muito bem (lembre-se de que temos apenas cinco funcionários):
// obtém o sexto? funcionário
System.out.println ("O sexto funcionário é" + funcionários.get (5));
No entanto, quando o programa é executado, o Java exibe uma exceção fora dos limites. É o mesmo erro que você obteria com um array padrão se tentasse acessar um bucket que não está na lista.
![]() |
Experimente e pegue
A boa notícia é que podemos detectar esses erros antes que façam com que o programa trave. Podemos usar o que é chamado de bloco try and catch para capturar quaisquer erros possíveis e exibir uma mensagem. A instrução get é colocada na seção try, o erro na seção catch do código.
Abaixo está um exemplo de como procurar exceções fora dos limites. Observe como a instrução catch recebe um parâmetro. Dê uma olhada na mensagem de erro que o Java retornou após tentarmos acessar o item 6. O erro foi IndexOutOfBoundsException. Este é o erro que queremos detectar antes de travar nosso programa.
// obtém o sexto? funcionário,
tente {
System.out.println ("O sexto funcionário é" + funcionários.get (6));
} catch (IndexOutOfBoundsException e) {
System.out.println ("No Such Employee");
}
Em vez de travar, o Java exibe a mensagem que criamos para este cenário.
![]() |
Quando se trata da possibilidade de erros, é recomendável detectá-los antes que se tornem um problema sério. Mais especificamente, se o seu código aceitar a entrada do usuário, você deve tentar interceptar esses tipos de erros.
Resumo da lição
O Java ArrayList é uma ferramenta mais poderosa para processamento de array do que arrays padrão. O método get nesta classe permite que você acesse um intervalo especificado na lista. Ao usar get, é uma boa ideia incluir a instrução em um bloco try e catch para que quaisquer erros fora dos limites sejam interceptados antes de causar a falha do programa.