Deseja tornar os seus arrays mais dinâmicos? Saiba mais sobre o Java ArrayList, veja uma demonstração prática e também um vídeo mostrando-o em ação.
O ArrayList é uma das coisas mais interessantes que um programador de Java pode aprender. Se você tiver experiência com programação em Java, você deve saber o que é o ArrayList. No entanto, se você for novo no Java, as coisas podem não ser tão fáceis.
O que é o ArrayList?
ArrayList é uma matriz dinâmica que permite que um programador armazene qualquer número de itens. Se estiver confuso, vamos entender primeiro os conceitos estáticos e dinâmicos em ciência da computação.
Estruturas de dados estáticas e dinâmicas
Estruturas de dados, assim como arrays, podem ser estáticas ou dinâmicas. Por exemplo, um array pode ser usado para armazenar um grupo de elementos. Geralmente, arrays são estáticos naturalmente e, portanto, não permitem adicionar um novo elemento. Mas os arrays também podem ser definidos como dinâmicos, ou seja, você pode alterar seu comprimento e adicionar novos elementos rapidamente.
Em Java, você pode declarar uma matriz usando o seguinte código:
1 2 3 |
Int[] Arr; //declaring array Arr = new int[5]; //initializing an array with the size of 5. |
Arr agora pode armazenar 5 elementos. Você não pode adicionar elementos à matriz Arr, tornando-a estática por natureza.
Então, como resolver o problema de criar um array dinâmico? Java ArrayList faz o trabalho!
ArrayList
ArrayList expande a interface List, o que ajuda a tirar o máximo proveito dela. Usar a estrutura de dados Array pode ser bom para algumas situações, mas ArrayList dá um melhor controle sobre os dados utilizados no programa.
O ArrayList melhora o funcionamento de uma matriz. Como programador, a flexibilidade de adicionar novos elementos pode ser usada extensivamente em diferentes cenários. ArrayList também pode ser útil no gerenciamento de consumo de memória de programa, já que elementos desnecessários são descartados. Este consumo de memória melhorado é ótimo para aplicações em tempo real.
No entanto, deve-se notar que ArrayList nunca deve ser usado para informações que você não deseja alterar. Por exemplo, se você estiver armazenando o número de meses, ou seja, de 1 a 12, é aconselhável usar uma matriz que forneça comportamento estático.
Importando o pacote certo
Para fazer o uso adequado do ArrayList, primeiro você precisa importar o pacote da biblioteca java.util.
1 |
import java.util.ArrayList; |
Uma vez importado, tudo o que você precisa fazer é criar uma nova instância usando a seguinte linha de código:
1 |
ArrayList myList = new ArrayList(); |
Isso criará uma nova ArrayList chamada myList.
Operações
Depois de termos criado o ArrayList, podemos usar diferentes métodos nele. Vamos passar por alguns deles.
1 2 3 4 5 6 7 8 9 |
add(object A) myList.add(“new-item”); myList.add(“placement”); myList.add(“five”); myList.add(5); |
Como você pode ver, nós usamos o método add () para adicionar novos elementos ao myList ArrayList. No entanto, precisamos entender que todos eles são objetos e não tipos de dados puros. Os três primeiros elementos são objetos de seqüência de caracteres e o quarto é um objeto inteiro. Se você desejar adicionar um elemento em um determinado local, você precisa usar o método add passando dois argumentos.
1 2 3 |
add(int index, Object A) -- the first argument is the index and the 2nd argument is the object itself. get(int index) |
Com o método get (), você pode facilmente recuperar informações com a ajuda de um índice. Tudo o que você precisa passar é o valor do índice e o valor do elemento será recuperado.
1 2 3 4 5 |
myList.get(2) ⇒ five. //ArrayList index starts from 0. remove(Object A) |
Com a ajuda de remove (), você pode remover elementos. O método remove remove o índice como um argumento e o ajudará a gerenciar bem os recursos do programa.
1 |
myList.remove(0); //this will remove “new-item” string object. |
Há muitos outros métodos que você pode usar no ArrayList. Alguns deles estão listados abaixo:
1 2 3 |
set(int index, Object A) int indexOf(Object A) |
Você pode encontrar toda a lista aqui.
Iterando sobre a ArrayList
Existe uma maneira de iterar sobre ArrayList? Se sim, como fazê-lo? Você pode usar o objeto Iterator (). Tudo o que você precisa fazer é importar a classe Iterator da biblioteca java.util usando a seguinte linha de código:
1 |
import java.util.Iterator; |
Como mencionado anteriormente, a classe Iterator tem alguns métodos que você pode utilizar para iterar sobre ArrayList.
HasNext () é o método perfeito para trabalhar com ArrayList. Tudo o que você precisa para executar um loop e verificar se ele retorna true ou false.
Primeiro, você precisa anexar ArrayList ao objeto iterator.
1 2 3 4 5 6 7 8 9 |
Iterator ity = myList.iterator(); Now, we can use the “ity” iterator object. while(ity.hasNext()) { System.out.println(it.next()); } |
O método next () permite passar por todos os elementos da lista.
Veja como é:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
import java.util.*; public class ArrayListEx { public static void main(String args[]) { ArrayList<String> myList= new ArrayList<String>(); /*Adding new elements to the myList*/ myList.add("Ruby"); myList.add(“Java"); myList.add("JavaScript"); myList.add("HTML"); myList.add("CSS"); /* Quick way of displaying all the arraylist items */ System.out.println("Currently the array list has following elements:"+myList); /*Adding elements using index*/ obj.add(0, "C++"); obj.add(1, "C"); /*Removing elements*/ obj.remove("C"); obj.remove("Ruby"); System.out.println("Current array list is:"+myList); /*Removing element using index*/ obj.remove(1); System.out.println("Current array list is:"+myList); } } |
Conclusão
Esperamos que agora você tenha uma ideia melhor sobre como usar corretamente o Java ArrayList. Se você ainda está se sentindo confuso, então você pode assistir ao engenheiro de software typedeph, dos EUA, trabalhando em uma estrutura de dados ArrayList.