aluno1
Fevereiro 14, 2011, 12:22am
#1
Olá, tenho as seguintes codigos:
public class Pessoa {
public voi dsetNome(String nome) {
...
}
public String getNome() {
...
}
public void setSalario(float sal) {
...
}
public float getSalario() {
...
}
}
public static void main(String[] args) {
LinkedList<Pessoa> list = new LinkedList<Pessoa>();
Pessoa p1 = New Pessoa();
p1.setNome(...);
p1.setSalario(...);
list.add(p1);
Pessoa p2 = New Pessoa();
p2.setNome(...);
p2.setSalario(...);
list.add(p2);
Pessoa p3 = New Pessoa();
p3.setNome(...);
p3.setSalario(...);
list.add(p3);
}
Como faço para ordenar essa lista de pessoas pelo menos e maior salario? Alguem Pode me auxiliar
Opa,
da uma olhada nesses links cara
Ola amigos, O meu problema é, tenho uma LinkedListPonto, em que cada objecto Ponto teem um inteiro x, e um inteiro y (coordenadas). o meu objectivo é ordenar esta lista pela coordenada x, por exemplo ficar do tipo: -2 3 -1 5 0 9 2 8 7 6 9 1 se alguem...
http://wiki.portugal-a-programar.org/java:ordernarlistas
abraços
Gilvan,
Você pode implementar um Comparator, por exemplo:
public class PessoaSalarioComparator implements Comparator<Pessoa> {
@Override
public int compare(Pessoa o1, Pessoa o2) {
return o1.getSalario().compareTo(o2.getSalario());
}
}
E para ordenar sua lista em ordem crescente de salários:
List<Pessoa> listaPessoas = new ArrayList<Pessoa>();
PessoaSalarioComparator ps = new PessoaSalarioComparator();
//Ordena lista pelos salários
Collections.sort(listaPessoas, ps);
Fabio, aproveitando o tópico, deixa eu te perguntar, qual é a diferença entre a interface Comparator e a Comparable?
A interface Comparable, vc pode fazer apenas um tipo de comparação
Já Comparator, vc pode fazer quaisquer tipos de orndenação, conforme lhe for conveniente.