Estou com uma duvida…
Eu tenho um arquivo JSP, e nele criei uma class Pessoa.
Logo abaixo da Class, eu crio um ArrayList do tipo Pessoa, e preencho.
Depois eu queria chamar o método de ordenação de acordo com o que o usuário solicitar, se ele escolher ordenar por nome, ai eu chamaria o método ordenar por nome, se for por idade, chamar o método ordena por idade,… e assim por diante. Coloquei só esses dois métodos, mas na verdade tem mais alguns
<%@ page import= "java.util.*"%>
<%!
public class Pessoa implements Comparable<Pessoa> {
String Nome;
Integer numero;
public Lista(String n,int m){
this.Nome = n;
this.numero = m;
}
public String getNome(){
return Nome;
}
public void SetNome(String Nome){
this.Nome = Nome;
}
public Integer getArea(){
return numero;
}
public void SetArea(int numero){
this.numero = numero;
}
public String toString(){
return this.Nome+" "+this.numero;
}
// Para ordenar por nome
public void ordenaPorNome(List<Pessoa> lista) {
Collections.sort(lista, new Comparator<Pessoa>() {
//@Override
public int compare(Lista o1, Lista o2) {
return o1.getNome().compareTo(o2.getNome());
}
});
}
// Para ordenar por numeros
public void ordenaPorNumero(List<Pessoa > lista) {
Collections.sort(lista, new Comparator<Pessoa>() {
//@Override
public int compare(Lista o1, Lista o2) {
return o1.getArea().compareTo(o2.getArea());
}
});
}
}
%>
<%
List<Pessoa> lista = new ArrayList<Pessoa>();
Lista t1,t2,t3;
t1 = new Lista("a",3);
t2 = new Lista("b",2);
t3 = new Lista("c",1);
lista.add(t1);
lista.add(t2);
lista.add(t3);
Lista.ordenaPorNome(lista);
System.out.println(lista);
%>