PROGRAMAÇÃO OO JAVA
[Link]@[Link]
TÓPICOS
COLLECTIONS
O framework das Collections em Java é formado ao redor de algumas
interfaces padrão.
Muitas destas interfaces podem ser usadas na forma como são
apresentadas ou serem modificadas de acordo com a sua necessidade.
Portanto, um framework para Collections é uma arquitetura unificada para
representar e manipular coleções
Porque usar Collections?
Set. List e Map
Set, List e Map são as três mais importantes interfaces de collections
● List prove indexação e ordenação da coleção e pode conter dados
duplicados
● Set provê uma coleção não ordenada, mas de objetos únicos, não
permite objetos duplicados
● Map provê uma estrutura de dados baseada no conceito de um par :
“chave”, “valor”
ArrayList
***ArrayList não é um array, porém usa internamente um array para realizar as operações
Public class Aluno {
List listaAlunos = new ArrayList();
private String matricula; [Link](aluno1);
private String nome; Iterator iter = [Link]();
while([Link]()) {
[Link]([Link]());
}
HashSet
Set listaAlunos = new HashSet();
[Link](aluno1);
Iterator iter = [Link]();
while([Link]()) {
[Link]([Link]());
}
Map
Map listaAlunos = new HashMap();
[Link]("aluno1",aluno1);
Iterator iter = [Link]().iterator();
while([Link]()) {
//[Link]([Link]());
Object chave = [Link]();
[Link]([Link](chave));
}
Ordenando os valores
Teste de ordenação para ArrayList:
[Link](lista);
List<String> lista = new ArrayList<String>();
[Link]("laranja");
[Link](lis
[Link]("maça"); ta);
[Link]("abobora");
[Link]("limão"); [Link]
(lista);
E para ordenar com objetos????
[Link](listaAlunos);
Comparable
implementar a interface Comparable<Objeto>
e sobrescrever o método comparteTo
@Override
public int compareTo(Aluno arg0) {
return [Link]([Link]);
}
Ordenando os valores JAVA 8 em diante:
Teste de ordenação para ArrayList:
[Link]((String x, String y)-> [Link](y));
List<String> lista = new ArrayList<String>();
[Link]("laranja");
//Imprimir:
[Link]("maça");
[Link](x)->[Link](x);
[Link]("abobora");
[Link]("limão");
Exercícios
1. Acesse e imprima o aluno 3 na ArrayList
2. Acesse e imprima o aluno 3 no HashMap
3. Ordene de forma reversa o ArrayList
Exercícios
4. Crie um programa utilizando uma estrutura de dados do tipo Last in
First Out (última entrar , primeira que sai), de tal forma que sejam
inseridos os estágios 4,3,2,1 nessa ordem, o estágio 1 deve ser liberado
quando o foguete atingir a estratosfera num tempo equivalente a
200000 milisegundos e, seguida os outros estágios destacam-se a cada
10000 milissegundos permanecendo apenas o estágio 4. Imprima cada
ejeção do estágio.
Exercícios
5. Crie um programa utilizando uma estrutura de dados do tipo Fisrt in
First Out que simule a entrada de carros num posto de gasolina. Após
alimentada a fila deverão ser ajustados tempos aleatórios para cada
carro que abastece na bomba , supondo que só temos uma bomba
funcionando. Imprima o modelo do carro que vai abastecer a cada
momento.
6. Qual a vantagem do uso de generics?
Exercícios
7. Crie uma coleção de Integers com mais de 50000 elementos e
compare o tempo de execução entre o ArrayList e o HashSet, existe o
método contains para comparar e [Link] para saber
o tempo de início e o de fim.