0% acharam este documento útil (0 voto)
3 visualizações25 páginas

Introdução à ArrayList em Java

O documento explora a ArrayList em Java, abordando sua definição, características, métodos principais, vantagens e desvantagens, além de exemplos práticos. A ArrayList é uma lista dinâmica que permite armazenamento flexível de dados e é amplamente utilizada em Programação Orientada a Objetos. O texto também discute alternativas à ArrayList e casos de uso típicos.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações25 páginas

Introdução à ArrayList em Java

O documento explora a ArrayList em Java, abordando sua definição, características, métodos principais, vantagens e desvantagens, além de exemplos práticos. A ArrayList é uma lista dinâmica que permite armazenamento flexível de dados e é amplamente utilizada em Programação Orientada a Objetos. O texto também discute alternativas à ArrayList e casos de uso típicos.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PPTX, PDF, TXT ou leia on-line no Scribd

ARRAYLIST EM JAVA

Discentes:
• Adriano Ernesto Fereira
• Manuel Gondola Junior
• Virginia Victorino Samo
CONTEUDO
 Introdução
 O que é uma ArrayList?

 Como Declarar e Inicializar uma ArrayList

 Métodos Principais e Operações Comuns

 Performance e Complexidade Computacional

 Vantagens e Desvantagens

 Casos de Uso Típicos

 Exemplo Prático Avançado

 Alternativas à ArrayList

 Conclusão

 Bibliografia
INTRODUÇÃO

 A ArrayList é uma das classes mais utilizadas no


Java Collections Framework, sendo fundamental em
aplicações que requerem armazenamento dinâmico
de dados. Este trabalho explora detalhadamente a
ArrayList no contexto da Programação Orientada a
Objetos (POO), abordando:
 Definição e características
 Diferenças entre ArrayList e arrays tradicionais
 Métodos essenciais e operações comuns
 Vantagens, desvantagens e casos de uso
 Exemplos práticos com código comentado
 Performance e boas práticas
 Alternativas à ArrayList
O QUE É UMA ARRAYLIST?
 A ArrayList é uma implementação
redimensionável de um array que pertence
ao pacote [Link]. Funciona como uma
lista dinâmica que permite:
 Armazenar elementos de qualquer tipo

(usando Generics)
 Acessar, adicionar e remover elementos

eficientemente
 Crescer automaticamente conforme

necessário
2.1. COMPARAÇÃO ENTRE
ARRAYS E ARRAYLIST
Característica Array Tradicional ArrayList

Tamanho Fixo (definido na criação) Dinâmico (cresce


automaticamente)

Manipulação de elementos Menos flexível Métodos úteis (add(),


remove())

Desempenho Mais rápido em acesso direto Ligeiramente mais lento


devido a overhead

Uso em POO Menos integrado Melhor adaptado a coleções de


objetos
3. COMO DECLARAR E
INICIALIZAR UMA
ARRAYLIST
3.1. SINTAXE BÁSICA
 java
 import [Link];

 ArrayList<Tipo> nomeLista = new

ArrayList<>();
 Tipo: Define o tipo de dados armazenados

(ex: String, Integer,


ObjetoPersonalizado).
3.2. EXEMPLOS DE
INICIALIZAÇÃO
 java
 ArrayList<String> nomes = new

ArrayList<>();
 ArrayList<Integer> idades = new

ArrayList<>(20); // Capacidade inicial = 20


 ArrayList<Double> preços = new

ArrayList<>([Link](10.5, 20.3, 30.0));


4. MÉTODOS PRINCIPAIS
E OPERAÇÕES COMUNS
4.1. ADIÇÃO DE
ELEMENTOS
Método Descrição Exemplo

add(E elemento) Adiciona ao final da lista [Link]("Ana");

add(int índice, E elem) Insere num índice específico [Link](1, "João");

addAll(Collection c) Adiciona todos os elementos de [Link](outraLista);


outra lista
4.2. REMOÇÃO DE
ELEMENTOS
Método Descrição Exemplo

remove(int índice) Remove pelo índice [Link](0);

remove(Object o) Remove a primeira ocorrência [Link]("Ana");


do objeto

clear() Limpa toda a lista [Link]();


DECLARAÇÃO E INICIALIZAÇÃO DE
ARRAYLIST
 import [Link];
 public class ExemploArrayList {
 public static void main(String[] args) {
 // Declaração de uma ArrayList para armazenar
Strings
 ArrayList<String> frutas = new ArrayList<>();
// Adicionando elementos à lista
[Link]("Maçã");
 [Link]("Banana");
 [Link]("Laranja");
 // Imprimindo a lista de frutas
[Link]("Frutas: " + frutas); }
 }
REMOÇÃO DE ELEMENTOS
 import [Link];
 import [Link];
 public class OrdenacaoArrayList {
 public static void main(String[] args)
{ ArrayList<String> nomes = new
ArrayList<>(); [Link]("Carlos");
 [Link]("Ana");
 [Link]("Bruno");
 // Ordenando a lista
 [Link](nomes);
 // Imprimindo a lista ordenada
[Link]("Nomes ordenados: "
+ nomes); }
 }
4.3. ACESSO E CONSULTA
Método Descrição Exemplo

get(int índice) Retorna o elemento no índice String nome = [Link](0);

contains(Object o) Verifica se o elemento existe boolean existe =


[Link]("Ana");

indexOf(Object o) Retorna o índice da primeira int pos =


ocorrência [Link]("Ana");
4.4. ITERAÇÃO SOBRE
UMA ARRAYLIST
 For-each loop (recomendado para leitura):
 java
 for (String nome : nomes) {
 [Link](nome);
 }

 Iterator (permite remoção segura durante iteração):


 java
 Iterator<String> it = [Link]();
 while ([Link]()) {
 String nome = [Link]();
 if ([Link]("Ana")) {
 [Link](); // Remove seguro
 } }
5. PERFORMANCE E
COMPLEXIDADE
COMPUTACIONAL
Operação Complexidade Explicação

add(E elemento) O(1) amortizado Redimensionamento ocasional


do array interno

add(int índice, E elem) O(n) Requer deslocamento de


elementos

get(int índice) O(1) Acesso direto ao array interno

remove(int índice) O(n) Deslocamento de elementos


após remoção
6. VANTAGENS E
DESVANTAGENS
6.1. VANTAGENS

 Flexibilidade: Tamanho ajustável conforme


necessidade.
 Facilidade de uso: Métodos intuitivos (add,

remove, contains).
 Integração com POO: Armazena objetos e

usa Generics para segurança de tipos.



6.2. DESVANTAGENS

 Overhead de memória: Consome mais


recursos que arrays tradicionais.
 Operações de inserção/remoção lentas no

meio da lista (devido a deslocamentos).


ACESSO E CONSULTA DE
ELEMENTOS
 import [Link];
 public class ConsultaArrayList {
 public static void main(String[] args)
{ ArrayList<Integer> numeros = new ArrayList<>();
[Link](10);
 [Link](20);
 [Link](30);
 // Acessando um elemento pelo índice
 int primeiroNumero = [Link](0); // 10
[Link]("Primeiro número: " + primeiroNumero);

 // Verificando se um número está na lista


 boolean existe = [Link](20); // true
[Link]("O número 20 está na lista? " +
existe); }
 }
ITERAÇÃO SOBRE ARRAYLIST
 import [Link];
 public class IteracaoArrayList {
 public static void main(String[] args)
{ ArrayList<String> animais = new
ArrayList<>(); [Link]("Cachorro");
[Link]("Gato");
 [Link]("Pássaro");
 // Usando um loop for-each para iterar
[Link]("Animais:");
 for (String animal : animais)
{ [Link](animal); }
 }
 }
7. CASOS DE USO
TÍPICOS

 Armazenamento de dados dinâmicos:


Listas de utilizadores, produtos, etc.
 Substituição de arrays quando o tamanho é

desconhecido.
 Implementação de pilhas ou filas (com

métodos auxiliares).
8. EXEMPLO PRÁTICO
AVANÇADO
 java
 import [Link];
 import [Link];
 public class GestaoAlunos {
 public static void main(String[] args) {
 ArrayList<String> alunos = new ArrayList<>();
 // Adicionar alunos
 [Link]("Carlos");
 [Link]("Ana");
 [Link]("Bruno");
 // Ordenar alfabeticamente
 [Link](alunos);
 // Imprimir lista ordenada
 [Link]("Alunos ordenados: " +
alunos);
 // Verificar se a lista está vazia
 if (![Link]()) {
 [Link]("O primeiro aluno é: "
+ [Link](0));
 }
 // Converter para array tradicional
 String[] arrayAlunos = [Link](new
String[0]);
 }
 }

 Saída:
 Alunos ordenados: [Ana, Bruno, Carlos]
 O primeiro aluno é: Ana
9. ALTERNATIVAS À
ARRAYLIST
 LinkedList: Melhor para inserções/remoções
frequentes no meio da lista.
 Vector: Versão sincronizada (thread-safe) de

`ArrayList`.
 HashSet: Quando a ordem não importa e é

necessário evitar duplicados.



ORDENAÇÃO DE ELEMENTOS
 import [Link];
 import [Link];
 public class OrdenacaoArrayList {
 public static void main(String[] args)
{ ArrayList<String> nomes = new ArrayList<>();
[Link]("Carlos");
 [Link]("Ana");
 [Link]("Bruno");
 // Ordenando a lista
 [Link](nomes);
 // Imprimindo a lista ordenada
[Link]("Nomes ordenados: " + nomes);
 }
 }
10. CONCLUSÃO
 A ArrayList é uma ferramenta essencial em
Java, especialmente em POO, devido à sua
flexibilidade e facilidade de uso. Embora não
seja a opção mais eficiente para todos os
cenários, é a escolha padrão para a maioria
das aplicações que requerem listas
dinâmicas.

Obrigado

pela
Atenção

Você também pode gostar