Negocio

Método Java ArrayList Add: Código e exemplos

ArrayList

Matrizes padrão são ferramentas úteis na caixa de ferramentas do programador Java. Há momentos em que precisamos de algo um pouco mais dinâmico, um array que podemos adicionar e / ou subtrair, ou mesmo aumentar ou diminuir conforme a necessidade. Felizmente, o Java fornece o ArrayList , que é uma classe para usarmos quando precisarmos fazer isso.

Antes de podermos usar ArrayList, temos que importar o utilitário Java, como você pode ver abaixo.

import java.util.ArrayList;

Para criar uma nova lista de array, você cria uma instância da classe ArrayList, dizendo ao Java o tipo de dados no array e o tamanho do array. A matriz pode ser String, Integer, Double, etc.

Abaixo está o código para declarar uma instância da classe ArrayList e chamá-la de funcionários. É uma matriz String com cinco itens, como você pode ver:

ArrayList <String> funcionários = novo ArrayList <String> (5);

Agora podemos começar a usar a classe ArrayList e seu método add para inserir itens no array. Em primeiro lugar, vamos criar a lista usando o método add. Posteriormente, diremos ao Java o que inserir no array e em que posição.

O código para preencher nossa matriz está abaixo, como você pode ver, com nomes de personagens famosos de ficção:

funcionários.add ("Jane Eyre"); 
funcionários.add ("Sherlock Holmes");
funcionários.add ("Edmond Dantes");
funcionários.adicionar ("Jean Valjean");
funcionários.add ("Sam Spade");

As próximas linhas de código usam o método size de ArrayList para exibir o número de itens. Em seguida, percorremos o array e exibimos cada item. Você notará que este loop for é um pouco diferente dos outros. Como temos um ArrayList, podemos usar um atalho em nosso loop. Precisamos apenas especificar o tipo de dados de ArrayList (String), fornecer um nome de variável de contador (contador) e o nome de ArrayList (funcionários).

O método add de ArrayList pode ter até dois parâmetros. O primeiro é o índice onde você está inserindo. O segundo é o valor do item que está sendo inserido. Quando você adiciona um item ao ArrayList, ele muda tudo.

Isso destaca a beleza da ArrayList versus uma matriz padrão. Não apenas podemos inserir um valor em um ponto específico do array, mas também aumenta o tamanho do array.

// mostra o tamanho da lista de matrizes 
System.out.println ("Size =" + workers.size ());
 
// percorre a lista e exibe
para (contador de string: funcionários) {
 System.out.println ("Funcionário =" + contador);
}

Quando executado, a saída é a seguinte, em que nossos personagens famosos são listados como funcionários:

Loop de arraylist Java através da saída

Se você não especificar um índice, o Java simplesmente anexa o item no final da lista. Em seguida, aumenta o tamanho em 1.

Adicionar e inserir novos elementos

Agora temos um array String decente com alguns funcionários interessantes. Depois que isso for criado, talvez seja necessário adicionar novos funcionários à nossa lista. Se estivéssemos usando arrays padrão, seria mais difícil adicionar um item mantendo a mesma lista. Você tem que criar um novo array e copiar tudo para o novo. Em vez disso, usaremos a função add e adicionar / inserir um novo elemento.

Para adicionar um elemento a um array existente, usaremos os parâmetros para a função add; o índice onde inseriremos o valor e o valor real. Lembre-se de que o Java começa a contar os elementos do array em zero. Portanto, o intervalo 1 é o segundo elemento. O código a seguir adicionará nosso novo funcionário à segunda posição:

funcionários.adicionar (1, "Anna Karenina");

Isso adicionará Anna Karenina à segunda posição da matriz (intervalo 1 para Java). Mas o que acontece com o resto do array? Vamos percorrer o array novamente, exibindo o tamanho do array todas as vezes. Abaixo está o código completo, mostrando a primeira matriz, nossa adição e um segundo loop através dela:

// cria uma instância de ArrayList workers.add 
("Jane Eyre");
funcionários.add ("Sherlock Holmes");
funcionários.add ("Edmond Dantes");
funcionários.adicionar ("Jean Valjean");
funcionários.add ("Sam Spade");
// mostra o tamanho da lista de matrizes
System.out.println ("Size =" + workers.size ());
 
// percorre a lista e exibe
para (contador de string: funcionários) {
 System.out.println ("Funcionário =" + contador);
System.out.println ();
// adicione Anna Karenina na 2ª posição
// lembre-se de que o Java começa em 0
System.out.println ("Array após Adicionar:");
funcionários.adicionar (1, "Anna Karenina");
para (contador de string: funcionários) {
 System.out. println ("Funcionário =" + contador);
}
System.out.println ("Tamanho =" + tamanho dos funcionários ());

E a saída. Observe o tamanho do array e como o Java muda tudo perfeitamente.

Java ArrayList adiciona saída completa

ArrayList of Classes

Outro uso da função add ArrayList é para uma lista de classes. Digamos que você crie uma classe Artist e deseja armazenar uma lista de objetos Artist (objetos são instâncias de classes) em um ArrayList. Digamos que a classe Artist requer um ID de artista e um nome. Podemos usar o método add de ArrayList para inserir instâncias da classe Artist no array.

O código a seguir declara o novo ArrayList. Observe que nosso tipo de dados é, na verdade, Artista. Isso porque estamos criando objetos do tipo Artista. A seguir, inseriremos alguns artistas.

// *** ArrayList de classes 
ArrayList <Artist> artist = new ArrayList <> ();
artist.add (novo Artista (1025, "REO Speedwagon"));
artist.add (novo Artista (9067, "Meat Loaf"));

A função add de ArrayList tem muitos usos. ArrayList pode ser muito mais fácil de trabalhar do que arrays padrão.

Resumo da lição

O ArrayList é uma classe em Java e é uma ferramenta poderosa para trabalhar com arrays. Ao criar uma instância da classe ArrayList, você pode usar vários métodos dentro da classe para processamento de array. O método add permite inserir ou adicionar um elemento na matriz em uma posição especificada. Em vez de substituir o elemento que já estava lá, ele muda os baldes da matriz, aumentando assim o tamanho da matriz. Para ver o tamanho da ArrayList, use o método size . Por esse motivo, é uma ferramenta superior para arrays, especialmente se os arrays forem dinâmicos.