P. 1
Collections

Collections

|Views: 0|Likes:

More info:

Published by: azrael da silva almeida on Jun 04, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

07/18/2015

pdf

text

original

Collections

Marco Antonio, Arquiteto de Software – TJDF ma@marcoreis.net
Atualizado Dezembro/2008

Coleções
Mecanismo que permite o armazenamento de vários objetos. É uma solução flexível e simples. Principais métodos:
add(), remove(). put(), get().

Não aceitam tipos primitivos (int, short, long, etc).

Tipos Listas e conjuntos. Iterators. . Mapas. Propriedades.

Consequências Eficiência no acesso. . Forma de organização de dados. na busca ou na inserção.

usando apenas duas interfaces comuns. Implementa as principais estruturas de dados de forma reutilizável. .Características Oferece uma biblioteca de classes e interfaces (pacote java. Oferece implementações de cursor para iteração para extrair dados de qualquer estrutura usando uma única interface.util).

As interfaces .

Implementações .

Mesmo assim.Várias possibilidades Como você pôde ver. . Vamos ver as soluções mais comuns. a grande maioria das necessidades dos sistema é atendida com folga pelos exemplos aqui mostrados. existem várias classes/interfaces com características específicas para cada necessidade. O mundo das coleções é muito extenso e não será totalmente coberto nesta apresentação.

. No exemplo utilizaremos a implementação ArrayList.util.Collection.Collection Vamos dar uma olhada na interface java.

remove() .Iterator Para navegar pelos objetos de uma coleção devemos utilizar o Iterator.recupera o próximo elemento. Os principais métodos: hasNext() .verifica se existem mais elementos. next() .remove um elemento. Uma coleção pode ter vários Iterators. .

ObjetoQualquer package com.nome = nome. } public void setNome(String nome) { this. } } . public String getNome() { return nome. public class ObjetoQualquer { private String nome.javabasico.collection.

ObjetoQualquer objeto3 = new ObjetoQualquer(). * */ ObjetoQualquer objeto1 = new ObjetoQualquer().util. import java. .collection.Exemplo completo package com.*.javabasico. /* * Agora. objeto3. vamos criar alguns objetos e fazer as atribuições.setNome("Primeiro nome").setNome("Segundo nome"). objeto2. */ Collection colecao = new ArrayList(). objeto1.setNome("Terceiro nome"). ObjetoQualquer objeto2 = new ObjetoQualquer(). public class ExemploDeCollection { public static void main(String[] args) { /* * Essa é a sintaxe para criar uma coleção simples.

add(objeto3). //Pronto. */ Iterator iteColecao = colecao.add(objeto2). } } } .println("Objeto recuperado: " + objetoRecuperado.out. colecao.iterator().getNome()).hasNext()) { //Conversão obrigatória. Atenção a esse detalhe!!! ObjetoQualquer objetoRecuperado = (ObjetoQualquer) iteColecao. agora você pode utilizar o objeto que foi recuperado da maneira que quiser. * Observação: só existe a possibilidade de navegação para frente.add(objeto1). System. /* * Para recuperar os objetos de uma coleção devemos utilizar um Iterator. colecao.Exemplo completo /* * O último passo é adicionar cada um dos objetos em nossa coleção. * Veja o exemplo de sintaxe.next(). */ colecao. while (iteColecao.

} public void setEndereco(String endereco) { this.collection. } public String getEndereco() { return endereco. private String endereco. } public void setNome(String nome) { this.javabasico. public class Pessoa { private String nome. } } .endereco = endereco.Pessoa package com.nome = nome. public String getNome() { return nome.

} } .setEndereco("Outro Lugar"). Pessoa carlos = new Pessoa(). carlos. carlos.setNome("Jose").add(jose). jose. Collection lista = new ArrayList().add(diego). diego.setEndereco("Sua Casa"). lista. public class FabricaDePessoas { public Collection getListaDePessoa() { Pessoa jose = new Pessoa().javabasico. lista.*. return lista.add(carlos). import java.setNome("Carlos").util. Pessoa diego = new Pessoa(). jose.collection. diego.FabricaDePessoas package com.setNome("Diego"). lista.setEndereco("Algum Lugar").

public class ImprimeListaDePessoas { public static void main(String[] args) { 1.collection.getEndereco()).iterator().*.ImprimeListaDePessoas package com. 6.util. FabricaDePessoas fabrica = new FabricaDePessoas(). 2. } } } . 3. import java.next().getNome()). Pessoa pessoaRecuperada = (Pessoa) iteListaDePessoas. 7.println(pessoaRecuperada.out. System.hasNext()) { 5.out. while (iteListaDePessoas. 4.getListaDePessoa(). Collection listaDePessoas = fabrica. Iterator iteListaDePessoas = listaDePessoas.javabasico. System.println(pessoaRecuperada.

Imprime o nome da pessoa. Recupera a próxima pessoa. 7. Imprime o endereço da pessoa. 4. Recupera o iterator para ler os objetos da coleção. Loop – iteração 5. 3.ImprimeListaDePessoas 1. Recupera a lista de pessoas da fábrica. 6. 2. Cria a nossa fábrica de objetos. .

Set Agora vamos ver um exemplo de java.util. Set não permite valores repetidos. A implementação será HashSet. .Set.

conjunto.add("um"). Iterator iteConjunto = conjunto.hasNext()) { System.util.add("um"). } } } . conjunto.ExemploDeSet package com.add("três").*. conjunto.next()).iterator(). conjunto. while (iteConjunto.out.collection.add("um").add("dois").println(iteConjunto. import java. conjunto. public class ExemploDeSet { public static void main(String[] args) { Set conjunto = new HashSet().javabasico.

sort package com.add("Joao").add("Zulima"). public class TesteOrdenacao { public static void main(String[] args) { List listaDesordenada = new ArrayList(). // Imprima a lista desordenada Collections.add("Airton").add("Maria"). listaDesordenada. import java.javabasico. listaDesordenada.collection.util.add("Jose"). // Imprima a lista ordenada } } .*. listaDesordenada.sort(listaDesordenada). listaDesordenada. listaDesordenada.

Funciona da seguinte maneira: uma chave está associada a um valor. .Map O Map tem uma combinação de chaves/valores. Os valores podem ser duplicados. As chaves. são únicas. claro.

get(Object key) . Object value) – acrescenta um objeto na lista.Principais métodos put(Object key.retorna um objeto através de sua chave. keySet() .retorna um Set com as chaves values() . associando-o a uma chave.retorna uma Collection com os valores. .

values().out.util. System.*. import java.put("um".out.println(chaves). "Primeiro valor"). Collection valores = mapa.keySet(). Set chaves = mapa.put("tres". System. mapa. "Segundo valor").collection. System.get("dois")).javaavancado. mapa.put("dois".out.println("Valor recuperado: " + mapa. } } . mapa. public class ExemploDeMap { public static void main(String[] args) { Map mapa = new HashMap().println(valores). "Terceiro valor").ExemploDeMap package com.

.Properties Mecanismo utilizado principalmente para recuperar informações do sistema.

name")). public class ExemploDeProperties { public static void main(String[] args) { Properties p = System.getProperties().get("java.println(p).out.out.out.println("Imprimindo propriedades isoladas:").util.javabasico.println("País do usuário: " + p. System.get("os.*.println("Todas as propriedades do sistema operacional:"). // Imprima a versão do java.out.collection. System. System.runtime. o diretório do usuário.name")).out. System. System. o nome do usuário.get("user.out. } } .country")).ExemploDeProperties package com.println("Nome do Runtime: " + p. import java. System.println("Nome do SO: " + p.

Dúvidas? .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->