Um ArrayList em Java é um redimensionável matriz (ou dinâmica) do pacote java.util que pode aumentar ou diminuir automaticamente à medida que os elementos são adicionados ou removidos, ao contrário dos arrays regulares com tamanho fixo.
linguagem java principal
- Acesso Indexado: Os elementos podem ser acessados usando seu índice, assim como os arrays.
- Permite duplicatas: Elementos duplicados são permitidos.
- Mantém o pedido de inserção: Os elementos são armazenados na ordem em que são inseridos.
- Não sincronizado: Por padrão, ArrayList não é thread-safe (a sincronização manual é necessária para acesso simultâneo).
import java.util.ArrayList; class Main { public static void main (String[] args) { // Creating an ArrayList ArrayList<Integer> a = new ArrayList<Integer>(); // Adding Element in ArrayList a.add(1); a.add(2); a.add(3); // Printing ArrayList System.out.println(a); } }
Saída
[1 2 3]
Hierarquia de ArrayList
Ele implementa Interface de lista que é uma subinterface de Interface de coleta .
Construtores ArrayList em Java
Java fornece vários construtores para criar um ArrayList com base em diferentes requisitos:
1. ListaArray()
Cria um ArrayList vazio com capacidade inicial padrão.
ListaArray
arr = novo ArrayList<>();
2. Lista de Matrizes arr = novo ArrayList<>()
Cria um ArrayList inicializado com elementos da coleção especificada.
ListaArray
arr = novo ArrayList<>(coleção);
3. ArrayList (int capacidade inicial)
Este construtor é usado para construir uma lista de arrays com a capacidade inicial sendo especificada.
ListaArray
arr = novo ArrayList<>(20);
Operações de ArrayList
Agora, usando os construtores, temos ArrayList para operações adicionais como InsertionDeletion e Updation dos elementos em ArrayList.
Javaimport java.util.*; class GFG{ public static void main(String args[]){ // Creating an Array of string type ArrayList<String> al = new ArrayList<>(); // 1. Adding elements to ArrayList at the end al.add('Geeks'); al.add('Geeks'); System.out.println('Original List : '+al); // Adding Elements at the specific index al.add(1 'For'); System.out.println('After Adding element at index 1 : '+ al); // 2. Removing Element using index al.remove(0); System.out.println('Element removed from index 0 : '+ al); // Removing Element using the value al.remove('Geeks'); System.out.println('Element Geeks removed : '+ al); // 3. Updating value at index 0 al.set(0 'GFG'); System.out.println('List after updation of value : '+al); } }
Saída
Original List : [Geeks Geeks] After Adding element at index 1 : [Geeks For Geeks] Element removed from index 0 : [For Geeks] Element Geeks removed : [For] List after updation of value : [GFG]
Complexidade do Java ArrayList
Operação | Complexidade de tempo obter a data atual em java | Complexidade Espacial média versus média |
|---|---|---|
Inserindo elemento em ArrayList | O(1) | SOBRE) |
Removendo elemento de ArrayList | SOBRE) | O(1) conceitos java oops |
Percorrendo elementos em ArrayList | SOBRE) | SOBRE) |
Substituindo elementos em ArrayList | O(1) | O(1) |
Métodos Java ArrayList
| Método | Descrição |
|---|---|
| add(int índice elemento objeto) | Este método é usado para inserir um elemento específico em um índice de posição específico em uma lista. |
| adicionar(Objeto o) | Este método é usado para anexar um elemento específico ao final de uma lista. |
| addAll(Coleção C) | Este método é usado para anexar todos os elementos de uma coleção específica ao final da lista mencionada em tal ordem que os valores sejam retornados pelo iterador da coleção especificada. |
| addAll(int índice Coleção C) | Usado para inserir todos os elementos começando na posição especificada de uma coleção específica na lista mencionada. |
| claro() | Este método é usado para remover todos os elementos de qualquer lista. |
| clone() | Este método é usado para retornar uma cópia superficial de um ArrayList em Java. |
| contém (Objeto o) | Retornará verdadeiro se esta lista contiver o elemento especificado. |
| garantircapacidade(int mincapacidade) | Aumenta a capacidade desta instância ArrayList, se necessário, para garantir que ela possa conter pelo menos o número de elementos especificado pelo argumento de capacidade mínima. |
| forEach(Consumidor super E>Ação) | Executa a ação fornecida para cada elemento do Iterable até que todos os elementos tenham sido processados ou a ação gere uma exceção. |
| obter (índice interno) | Retorna o elemento na posição especificada nesta lista. |
| indexOf(Objeto O) | O índice da primeira ocorrência de um elemento específico é retornado ou -1 caso o elemento não esteja na lista. |
| estáVazio() | Retorna verdadeiro se esta lista não contiver elementos. |
| lastIndexOf(Objeto O) | O índice da última ocorrência de um elemento específico é retornado ou -1 caso o elemento não esteja na lista. |
| listIterator() | Retorna um iterador de lista sobre os elementos desta lista (na sequência adequada). |
| listIterator (índice interno) | Retorna um iterador de lista sobre os elementos desta lista (na sequência adequada) começando na posição especificada na lista. |
| remover (índice interno) | Remove o elemento na posição especificada nesta lista. |
| remover (Objeto o) | Remove a primeira ocorrência do elemento especificado desta lista, se estiver presente. |
| removerAll(Coleção c) | Remove desta lista todos os seus elementos contidos na coleção especificada. |
| removeIf (filtro de predicado) | Remove todos os elementos desta coleção que satisfazem o predicado fornecido. |
| removeRange(int fromIndex int toIndex) | Remove desta lista todos os elementos cujo índice está entre Índice inclusivo e Índice exclusivo. |
| reterTudo(Coleção>c) | Retém apenas os elementos desta lista que estão contidos na coleção especificada. |
| conjunto (int índice E elemento) | Substitui o elemento na posição especificada nesta lista pelo elemento especificado. |
| tamanho() | Retorna o número de elementos nesta lista. |
| divisor() | Cria um Spliterator de ligação tardia e rápida sobre os elementos desta lista. |
| subList(int fromIndex int toIndex) | Retorna uma visualização da parte desta lista entre o fromIndex inclusive e o toIndex exclusivo especificados. |
| toArray() | Este método é usado para retornar um array contendo todos os elementos da lista na ordem correta. |
| toArray(Objeto[] O) | Também é usado para retornar um array contendo todos os elementos desta lista na ordem correta, igual ao método anterior. |
| trimToSize() | Este método é usado para reduzir a capacidade da instância do ArrayList para o tamanho atual da lista. |