ALGORITMOS E ESTRUTURA DE
DADOS I
ISUTC INSTITUTO SUPERIOR DE
TRANSPORTES E COMUNICAÇÕES
O Grupo da Disciplina
DEPARTAMENTO DE TECN. DA
INFORMAÇÃO E COMUNICAÇÃO
Ano Lectivo 2025
Algoritmos e Estrutura de
Dados I
____________
2º semestre
Listas
CONTEÚDO
– Arrays
– ArrayList
– Interface
– TPC5
Arrays
Base de Dados
Fig1: Exemplo de um array (adaptado de apostila da Caelum)
5
Arrays
• O Array é a estrutura de colecção mais básica em Java, e embora seja
essencial para qualquer programador conhecer , nem sempre é a melhor
Base de Dados
solução.
Vantagens
• Não tem métodos ou mecanismos complicados a aprender - basicamente
a sintaxe dos parênteses rectos [], e a variável de instância length.
• Porque guarda os seus conteúdos num espaço contíguo em memória, em
certas situações que exigem "alta performance" pode ser extremamente
rápido.
6
Arrays
Desvantagens
Base de Dados
1. O seu tamanho é fixo, não sendo recomendado em situações
em que o número de elementos não for previsível em
avanço, ou quando tem que depois remover um elemento.
2. Não tem métodos próprios para fazer, por exemplo, tarefas
comuns tais como: total de elementos, remoção de um
elemento sem deixar espaços vazios, devolver o último
elemento, etc.
7
Arrays
Para resolver problemas desta natureza, iremos
Base de Dados
nesta cadeira implementar outras estruturas de
dados começando por Lista implementada com
array (mais conhecido por ArrayList).
8
ArrayList
Ele implementa a interface List do framework de
Base de Dados
colecções .
Hierarquia das interfaces da estrutura de colecções
9
ArrayList
Numa lista, pode ser interessante implementarmos
Base de Dados
funcionalidades como:
1) Adicionar um dado elemento no fim da Lista.
2) Adicionar um dado elemento em uma dada posição.
3) Pegar o elemento de dada posicão.
4) Remover o elemento de dada posicão.
5) Verificar se um dado elemento está armazenado na
estrutura.
6) Informar o número de elementos armazenados. 10
ArrayList
Interface
Base de Dados
[Interface permite que as classes implementem herança multipla
(1);
Os métodos com mesma assinatura podem ter várias
implementações cabendo neste caso ao programador e ao
objectivo a alcançar (2);
Facilita ao utilizador final, pois para aparelhos com a mesma
natureza (ex: celulares), mesmas funcionalidades só mudam
implementações(3).]
11
•remove(indice): Remove o elemento na posição especificada.
: Retorna o :número
•remove(indice)
•size() Removedeo elementos
elemento nanaposição
lista. especificada.
•clear(): Remove todos os elementos da lista. lista.
•size() : Retorna o número de elementos na
•clear():: Remove
•isEmpty() Verifica setodos osestá
a lista elementos
vazia. da lista.
•isEmpty() : Verifica se a lista está
•contains(elemento): Verifica se a lista vazia.
contém o elemento especificado.
•contains(elemento): Verifica se a lista contém o elemento especificado.
Principais métodos
• add(elemento): Adiciona um elemento ao final da lista.
• add(indice, elemento): Adiciona um elemento em uma posição específica da
Base de Dados
lista.
• get(indice): Retorna o elemento na posição especificada.
• set(indice, elemento): Substitui o elemento na posição especificada pelo
novo elemento.
• remove(indice): Remove o elemento na posição especificada.
• size(): Retorna o número de elementos na lista.
• clear(): Remove todos os elementos da lista.
• isEmpty(): Verifica se a lista está vazia.
• contains(elemento): Verifica se a lista contém o elemento especificado.
12
public interface InterfaceGeral {
Interface
public void adicionaInicio(Object elemento) ;
//adiciona elemento no inicio da lista
public void adicionaPosicao(int posicao, Object elemento);
Base de Dados
//adiciona elemento numa dada posição
public void adicionaFim (Object elemento) ;
//adiciona elemento no fim da lista
public Object pega(int posicao) ;
//devolve elemento duma dada posicao
public void removeInicio();
//remove elemento no inicio
public void removePosicao(int posicao);
//remove elemento duma dada posição
public void removeFim();
//remove elemento no fim
public boolean contem(Object elemento);
// verifica se a lista contem um dado elemento
public int tamanho();
//devolve o numero de elementos da lista 13
}
TPC5
Inplementar a interface InterfaceGeral
GARANTE O TEU FUTURO
COM UMA FORMAÇÃO SÓLIDA
Prolong. da Av. Kim Il Sung (IFT/TDM) Edifício
D1
Maputo, Moçambique
[Link]/isutc
[Link]/isutc