Classe Java ArrayList
Classe Java ArrayList
Neste tutorial, aprenderemos sobre a classe ArrayList em Java. Aprenderemos sobre diferentes operações e métodos da lista de matrizes com a ajuda de exemplos.
O ArrayList
classe da estrutura de coleções Java fornece a funcionalidade de matrizes redimensionáveis .
Ele implementa o List
interface.
Java ArrayList vs Array
Em Java, precisamos declarar o tamanho de um array antes de podermos usá-lo. Uma vez que o tamanho de um array é declarado, é difícil alterá-lo.
Para lidar com esse problema, podemos usar o ArrayList
classe. Ele nos permite criar arrays redimensionáveis.
Ao contrário dos arrays, os arraylists podem ajustar automaticamente sua capacidade quando adicionamos ou removemos elementos dele. Portanto, as listas de matrizes também são conhecidas como matrizes dinâmicas .
Criando uma ArrayList
Antes de usar ArrayList
, precisamos importar o java.util.ArrayList
pacote primeiro. Aqui está como podemos criar arraylists em Java:
ArrayList<Type> arrayList= new ArrayList<>();
Aqui, Digite indica o tipo de uma lista de matrizes. Por exemplo,
// create Integer type arraylist
ArrayList<Integer> arrayList = new ArrayList<>();
// create String type arraylist
ArrayList<String> arrayList = new ArrayList<>();
No programa acima, usamos Integer
não int. É porque não podemos usar tipos primitivos ao criar uma lista de matrizes. Em vez disso, temos que usar as classes wrapper correspondentes.
Aqui, Integer
é a classe wrapper correspondente de int
. Para saber mais, visite a classe wrapper Java.
Exemplo:Criar ArrayList em Java
import java.util.ArrayList;
class Main {
public static void main(String[] args){
// create ArrayList
ArrayList<String> languages = new ArrayList<>();
// Add elements to ArrayList
languages.add("Java");
languages.add("Python");
languages.add("Swift");
System.out.println("ArrayList: " + languages);
}
}
Saída
ArrayList: [Java, Python, Swift]
No exemplo acima, criamos um ArrayList
chamados idiomas .
Aqui, usamos o add()
método para adicionar elementos ao arraylist. Aprenderemos mais sobre o add()
método mais adiante neste tutorial.
Operações básicas em ArrayList
O ArrayList
A classe fornece vários métodos para realizar diferentes operações em listas de matrizes. Veremos algumas operações de arraylist comumente usadas neste tutorial:
1. Adicionar elementos a um ArrayList
Para adicionar um único elemento ao arraylist, usamos o add()
método do ArrayList
classe. Por exemplo,
import java.util.ArrayList;
class Main {
public static void main(String[] args){
// create ArrayList
ArrayList<String> languages = new ArrayList<>();
// add() method without the index parameter
languages.add("Java");
languages.add("C");
languages.add("Python");
System.out.println("ArrayList: " + languages);
}
}
Saída
ArrayList: [Java, C, Python]
No exemplo acima, criamos um ArrayList
chamados idiomas . Aqui, usamos o add()
método para adicionar elementos a idiomas .
Para saber mais, visite o Java ArrayList add().
Outra maneira de adicionar elementos ao arraylist
Como adicionar um elemento em uma posição especificada em um ArrayList?
Também podemos passar um número de índice como um parâmetro adicional para o add()
método para adicionar um elemento na posição especificada. Por exemplo,
Como adicionar todos os elementos de um conjunto a um arraylist? // add JavaScript at index 1
languages.add(1, "JavaScript");
// add C++ at index 3
languages.add(3, "C++");
Também podemos adicionar todos os elementos de uma coleção (set, map) a um arraylist usando o addAll()
método. Por exemplo,
import java.util.ArrayList;
import java.util.HashSet;
class Main {
public static void main(String[] args) {
// create a set
HashSet<String> vowels = new HashSet<>();
vowels.add("a");
vowels.add("e");
vowels.add("i");
// create an arraylist
ArrayList<String> alphabets = new ArrayList<>();
// add all elements of set to arraylist
alphabets.addAll(vowels);
System.out.println("ArrayList: " + alphabets);
}
}
// Output: ArrayList: [a, e, i]
Para saber mais, visite Java ArrayList addAll().
2. Acessar elementos ArrayList
Para acessar um elemento do arraylist, usamos o get()
método do ArrayList
classe. Por exemplo,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> animals = new ArrayList<>();
// add elements in the arraylist
animals.add("Cat");
animals.add("Dog");
animals.add("Cow");
System.out.println("ArrayList: " + animals);
// get the element from the arraylist
String str = animals.get(1);
System.out.print("Element at index 1: " + str);
}
}
Saída
ArrayList: [Cat, Dog, Cow]
Element at index 1: Dog
No exemplo acima, usamos o get()
método com parâmetro 1 . Aqui, o método retorna o elemento no índice 1 .
Para saber mais, visite Java ArrayList get().
Também podemos acessar elementos do ArrayList
usando o iterator()
método. Para saber mais, visite Java ArrayList iterator().
3. Alterar elementos ArrayList
Para alterar os elementos do arraylist, usamos o set()
método do ArrayList
classe. Por exemplo,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the array list
languages.add("Java");
languages.add("Kotlin");
languages.add("C++");
System.out.println("ArrayList: " + languages);
// change the element of the array list
languages.set(2, "JavaScript");
System.out.println("Modified ArrayList: " + languages);
}
}
Saída
ArrayList: [Java, Kotlin, C++]
Modified ArrayList: [Java, Kotlin, JavaScript]
No exemplo acima, criamos um ArrayList
chamados idiomas . Observe a linha,
language.set(2, "JavaScript");
Aqui, o set()
O método altera o elemento no índice 2 para JavaScript .
Para saber mais, visite o conjunto Java ArrayList().
4. Remover elementos ArrayList
Para remover um elemento do arraylist, podemos usar o remove()
método do ArrayList
classe. Por exemplo,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> animals = new ArrayList<>();
// add elements in the array list
animals.add("Dog");
animals.add("Cat");
animals.add("Horse");
System.out.println("ArrayList: " + animals);
// remove element from index 2
String str = animals.remove(2);
System.out.println("Updated ArrayList: " + animals);
System.out.println("Removed Element: " + str);
}
}
Saída
ArrayList: [Dog, Cat, Horse]
Updated ArrayList: [Dog, Cat]
Removed Element: Horse
Aqui, o remove()
método pega o número de índice como parâmetro. E remove o elemento especificado pelo número de índice .
Para saber mais, visite Java ArrayList remove().
Também podemos remover todos os elementos do arraylist de uma só vez. Para saber mais, acesse
Métodos da classe ArrayList
Na seção anterior, aprendemos sobre o add()
, get()
, set()
e remove()
método do ArrayList
classe.
Além desses métodos básicos, aqui estão mais alguns ArrayList
métodos comumente usados.
Métodos Descrições tamanho() Retorna o comprimento da lista de matrizes. classificar() Classifique os elementos da lista de matrizes. clone() Cria uma nova lista de matrizes com o mesmo elemento, tamanho e capacidade. contém() Pesquisa na lista de matrizes o elemento especificado e retorna um resultado booleano. garantirCapacidade() Especifica o elemento total que o arraylist pode conter. está vazio() Verifica se a lista de matrizes está vazia. indexOf() Pesquisa um elemento especificado em uma lista de matrizes e retorna o índice do elemento.
Se você quiser aprender sobre todos os diferentes métodos de arraylist, visite Java ArrayList methods.
Iterar por meio de um ArrayList
Podemos usar o loop for-each Java para percorrer cada elemento da lista de matrizes. Por exemplo,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// creating an array list
ArrayList<String> animals = new ArrayList<>();
animals.add("Cow");
animals.add("Cat");
animals.add("Dog");
System.out.println("ArrayList: " + animals);
// iterate using for-each loop
System.out.println("Accessing individual elements: ");
for (String language : animals) {
System.out.print(language);
System.out.print(", ");
}
}
}
Saída
ArrayList: [Cow, Cat, Dog]
Accessing individual elements:
Cow, Cat, Dog,
Perguntas frequentes
Qual é a diferença entre Java ArrayList e LinkedList?
Algumas das principais diferenças entre ArrayList
e LinkedList
em Java são:
Como converter um ArrayList em Array? Lista de matrizes LinkedList Implementa List
interfaceImplementa List
, Queue
e Deque
interfaces.Armazena um único valor. Armazena 3 valores:dados, endereço anterior e próximo Fornece a funcionalidade de uma matriz redimensionável. Fornece a funcionalidade de lista duplamente vinculada
Podemos converter o ArrayList
em uma matriz usando o toArray()
método. Por exemplo,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the array list
languages.add("Java");
languages.add("Python");
languages.add("C++");
System.out.println("ArrayList: " + languages);
// create a new array of String type
String[] arr = new String[languages.size()];
// convert ArrayList into an array
languages.toArray(arr);
System.out.print("Array: ");
// access elements of the array
for (String item : arr) {
System.out.print(item + ", ");
}
}
}
Saída
ArrayList: [Java, Python, C++]
Array: Java, Python, C++,
No exemplo acima, o toArray()
O método converte os idiomas arraylist para um array e o armazena em arr . Para saber mais, visite Java ArrayList toArray().
Como converter um array para ArrayList?
Usamos o asList()
método do Arrays
classe. Para usar asList()
, devemos importar o java.util.Arrays
pacote primeiro. Por exemplo,
import java.util.ArrayList;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
// create an array of String type
String[] arr = { "Java", "Python", "C++" };
System.out.print("Array: ");
// print array
for (String str : arr) {
System.out.print(str);
System.out.print(" ");
}
// create an ArrayList from an array
ArrayList<String> languages = new ArrayList<>(Arrays.asList(arr));
System.out.println("\nArrayList: " + languages);
}
}
Saída
Array: Java Python C++
ArrayList: [Java, Python, C++]
No programa acima, primeiro criamos um array arr
do String
modelo. Observe a expressão,
Arrays.asList(arr)
Aqui, o asList()
O método converte a matriz em uma lista de matrizes.
Como criar e inicializar um ArrayList em uma única linha?
Usamos o Arrays.asList()
método para criar e inicializar um arraylist em uma única linha. Por exemplo,
Como converter um ArrayList em String? import java.util.ArrayList;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
// create and initialize ArrayList
ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C"));
System.out.println("ArrayList: " + languages);
}
}
// Output: ArrayList: [Java, Python, C]
Usamos o toString()
método do ArrayList
class para converter uma lista de matrizes em uma string. Por exemplo,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the ArrayList
languages.add("Java");
languages.add("Python");
languages.add("Kotlin");
System.out.println("ArrayList: " + languages);
// convert ArrayList into a String
String str = languages.toString();
System.out.println("String: " + str);
}
}
Saída
ArrayList: [Java, Python, Kotlin]
String: [Java, Python, Kotlin]
Aqui, o toString()
O método converte toda a lista de matrizes em uma única string. Para saber mais, visite Java ArrayList toString().
Como criar um arraylist usando a interface List?
Também podemos criar um arraylist usando a interface List. É porque a classe ArrayList implementa a interface List. Vejamos um exemplo,
import java.util.ArrayList;
import java.util.List;
class Main {
public static void main(String[] args) {
// create arraylist using List
List<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("Python");
languages.add("C");
System.out.println("ArrayList: " + languages);
}
}
// Output: ArrayList: [Java, Python, C]
Java