2
I have a question. I want to order the Arraylist person in different ways.
<%@ 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
private static 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
private static 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);
//como chamar o metodo de ordenação aqui ?
ordenaPorNome(lista);
System.out.println(lista);
//como chamar o metodo de ordenação aqui ?
ordenaPorNumero(lista);
System.out.println(lista);
%>
I’m using JSP, and it’s all in the same file.
Ai will later have an option for the user to choose how to sort, and also add more attributes in the person class to be sorted.
I could not put this example of yours inside a method, and then call the method outside the class, to sort according to the parameters I receive ?
– Bruno
Yes, you can implement it that way. I would do something like this: 1. Create all the likely Comparators. 2. Create a Map, with all of them. 3. With the key, I would search for the Commander on the map. Any speech there. Looking at your code, it would be nice to take from within jsp pages.
– josivan