[Duvida] Ordenar objectos no vector

4 respostas
P

Boas,

Eu tenho um vector que vai guardar objectos e eu queria ordenar esse vector. Cada objecto tem como atributo por exemplo, nome e idade. Eu queria ordenar por idades. Por exemplo.

Meu vector:

elemento 1: nome: joao
idade:18
elemento 2: nome: ana
idade:15
elemento 3: nome pedro
idade:17

O resultado tem de ser ana, pedro, joao.
Alguém sabe como consigo ordenar em função da idade?

Obrigado! :smiley:

4 Respostas

davidtiagoconceicao

Aqui no fórum há alguns tópicos sobre isso:

http://www.guj.com.br/posts/list/19670.java
http://www.guj.com.br/posts/list/53047.java

A dica é usar Arrays e Comparable.

P

Eu sei ordenar um vector de int.
Mas não sei ordenar um vector de objectos em função de uma característica, neste caso a idade
Olha a imagem
http://img21.imageshack.us/my.php?image=javagx9.jpg

T
import java.util.*;
/*
elemento 1: nome: joao
idade:18
elemento 2: nome: ana
idade:15
elemento 3: nome pedro
idade:17 
*/
class Aluno {
    public Aluno (String nome_, int idade_) { nome = nome_; idade = idade_; }
    public String toString() { return "nome: " + nome + "; idade: " + idade; }
    public String nome;
    public int idade;
}

class TesteOrdenacao {
    public static void main(String[] args) {
        List<Aluno> alunos = new ArrayList<Aluno>();
        alunos.add (new Aluno ("Joao", 18));
        alunos.add (new Aluno ("Ana", 15));
        alunos.add (new Aluno ("Pedro", 17));
        Collections.sort (alunos, new Comparator<Aluno>() {
            public int compare (Aluno a1, Aluno a2) {
                return a1.idade - a2.idade;
            }
        });
        System.out.println (alunos);
    }
}
P

Obrigado!!! :smiley: :smiley: :smiley:

Criado 11 de fevereiro de 2009
Ultima resposta 11 de fev. de 2009
Respostas 4
Participantes 3