Estrutura de Dados
Agenda
• Java Collections
• List
– Declaração – Adição
– Remoção
– Tamanho da lista
– Recuperar Elemento – Recuperar Posição – Limpando elementos – Existência de dados
– Adicionando de outra lista – Percorrendo Elementos
• Exercícios
Java Collections
• Interface absoluta na hierarquia de coleções
– Descendem as interfaces Set, List que formam a base das coleções genéricas da linguagem Java.
• Set – define uma coleção que não contém valores duplicados.
• List - define uma coleção ordenada que pode conter elementos duplicados.
– As classes e interfaces dessa estrutura de coleções são membros do pacote java.util
Declarando uma coleção
• Collection é uma Interface de JAVA
– Não pode ser inicializada, apenas declarada Ex.: Collection colecao = new ArrayList();
• Tanto para declarar List como Collection será necessário importar os pacotes:
– java.util.ArrayList – java.util.Collection.
Adicionando Elementos
• Para que possa ser adicionados
elementos deve ser utilizado o método add passando um argumento:
• Essa adição é realizada no fim da lista
Collection letras = new ArrayList();
letras.add("A");
letras.add("B");
letras.add(1);
letras.add(true);
Removendo Elementos
• Para que seja possível remover elementos deve-se utilizar o método remove,
enviando o elemento como parâmetro.
Collection fila = new ArrayList();
fila.add(255);
fila.add(312);
fila.add(9);
System.out.println("Valores da fila: "+fila);
fila.remove(312); //REMOVE OBJETO 312
System.out.println("Valores da fila: "+fila);
size() - Tamanho da Lista
• Responsável por recuperar a quantidade de elementos existentes em uma List
• Retorna 0, caso a lista esteja vazia.
Collection letras = new ArrayList();
letras.add(“A”) letras.add(“B”) letras.add(“C”)
System.out.println(letras.size());
get(posicao) – Recupera Elemento
• Responsável por recuperar determinado elemento de acordo com a posição.
• Retorna o elemento desejado.
Collection letras = new ArrayList();
letras.add(“A”) letras.add(“B”) letras.add(“C”)
System.out.println(letras.get(0));
indexOf(elemento) – Recupera Posição
• Responsável por recuperar a posição do elemento passado como parâmetro.
• Retorna o elemento desejado caso existe e -1 caso o elemento não exista.
Collection letras = new ArrayList();
letras.add(“A”) letras.add(“B”) letras.add(“C”)
System.out.println(letras.indexOf(“A”));
Método isEmpty
• Responsável por verificar se os dados dentro de um List estão vazios
• Retorna TRUE caso a lista esteja vazia e FALSE caso contrário.
Collection letras = new ArrayList();
if(letras.isEmpty()){
System.out.println("Lista Vazia!");
}else{
System.out.println("Contém valores -> "+letras);
}
Limpando os elementos da lista
• Para executar essa ação basta usar o método clear( )
Collection livros = new ArrayList();
livros.add("Java");
livros.add("Php");
livros.add("Python");
livros.add("SQL");
System.out.println("Listagem dos Livros: "+livros);
livros.clear();
System.out.println("Listagem após o clear: "+livros);
Verificando se existem dados
• Para verificar a existência de certos elementos dentro de uma coleção, é possível fazer isso através do método contains.
Collection vogais = new ArrayList();
vogais.add("A");
vogais.add("E");
vogais.add("I");
vogais.add("O");
vogais.add("U");
System.out.println("Contém a vogal I ? "+vogais.contains("I"));
System.out.println("Lista das vogais: "+vogais)
Adicionando elementos de outra coleção
• O método addAll permite adicionar todo os elementos de uma lista no final de
outra
Collection vogais = new ArrayList();
vogais.add("A");
vogais.add("E");
vogais.add("I");
Collection<String> vogais2 = Arrays.asList("O", "U");
//RECEBE TODOS OS ELEMENTOS DA COLEÇÃO ADICIONANDO NA COLEÇÃO VOGAIS
Exercícios - ArrayList
1. Crie um programa que receba 3
elementos da entrada e os imprima na tela,.
2. Crie um programa que receba 3 palavras, armazene em uma lista e caso exista a
palavra “IFPB” imprima na saída “Instituto
Federal da Paraíba”.
Dúvidas
Referências
• GOODRICH, M. T.; TAMASSIA, R. Estruturas de Dados e Algoritmos Em Java. 5ª Edição. Bookman, 2013.
• PUGA, S.; RISSETI, G. Lógica de Programação e
Estruturas de Dados com Aplicações em Java. 2ª Edição.
Prentice Hall, 2012.
• Algoritmos e Estruturas de Dados com Java. Disponível em:
https://www.caelum.com.br/apostila-java-estrutura-dados/.
Acesso em: 16/05/2016.
• Introdução aos tipos de Estrutura de Dados em JAVA.
Disponível em:
http://www.javaprogressivo.net/2012/09/introducao-aos-tipos- de-estrutura-de.html. Acesso em: 22/05/2016.