Generics em ArrayList X HashMap

maio 9, 2007 at 4:29 pm 1 comentário

Usarei  dois exemplos basicos para a comparação de ArrayList e HashMap. 

A classe Aluno abaixo será usada para instanciarmos alguns objetos.

public Class Aluno {

private String  nome;

private String fone;

Aluno(String _nome){

this.nome = _nome;

}

public String getNome(){

return this.nome;

}

}

ArrayList

Em outra class podemos usar o ArrayList da seguinte forma:

1        ArrayList<Aluno> alunos = new ArrayList<Aluno>();
2        
3        Aluno a = new Aluno(“YRoss”,”85 99887755″); 
4        alunos.add( a );
5        
6        Aluno x = alunos.get( 0 );        
7        System.out.println(“Nome: “+ x.getNome() );  

Observe o código acima e perceba que na linha 6 não foi preciso realizar um “casting” para converter o objeto retirado da coleção. O mesmo havia sido armazenado internamente como um objeto Aluno e não como sendo do tipo “Object”.

Note que usei o metodo add() para adicionar um elemento ao ArrayList alunos. Logo abaixo linha 6 usamos x para fazer refenrência ao retorno do metodo get(), que como foi citado acima retorna um Objeto do tipo Aluno.

Mas onde esta generico?
Na linha 1 temos <Aluno>, é nesse momentos que informamos ao ArrayList que armazenaremos um formato generico, em nosso caso objetos da Classe Aluno, ou herdeiros de Aluno.

HashMap

1    HashMap<String, Aluno> hash = new HashMap<String, Aluno>();
2    Aluno a = new Aluno(“YRoss”,”34913491″ );  
3    hash.put(a.getNome(),  a);

Linha 1: Cria HashMap e informamos que usaremos um objeto String como chave, e armazenaremos no elemento um objeto do tipo Aluno.

Linha 2: Cria uma referencia ao novo objeto do tipo aluno, passando nome e telefone.

linha3: Adiciona um elemento ao HashMap. Observe que o metodo put(), diferente do metodo add() de ArrayList, recebe dois argumentos, uma chave do tipo String e um objeto do tipo Aluno. Para a String passei o proprio nome(a.getNome()) do aluno  e para o objeto passei a.

Arraylist = busca ordenada, ordem natural de inserção.

HashMap = busca por chave;

Agora dependendo da necessidade escolha o que achar melhor.

Entry filed under: API. Tags: .

enum >>Recrutamento

1 Comentário Add your own

  • 1. Tojo  |  setembro 18, 2008 às 7:12 pm

    Bala… Explicou legal, sem muita bobeira…

    =)

    Responder

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Enviar trackback para este post  |  Subscribe to the comments via RSS Feed


Tópicos recentes

 

maio 2007
S T Q Q S S D
    dez »
 123456
78910111213
14151617181920
21222324252627
28293031  

Blog Stats

  • 4,592 hits

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.