Boa tarde a todos.
Bom minha dúvidas é a seguinte. Gostaria de saber como eu faço para ordenar essas contas pelo nome.
[code]import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class TestaOrdenacao {
public static void main(String[] args) {
List<ContaPoupanca> contas = new ArrayList<ContaPoupanca>();
ContaPoupanca c1 = new ContaPoupanca();
c1.setNome("Thiago");
c1.deposita(450);
contas.add(c1);
ContaPoupanca c2 = new ContaPoupanca();
c1.setNome("Abdala");
c2.deposita(250);
contas.add(c2);
ContaPoupanca c3 = new ContaPoupanca();
c1.setNome("Carol");
c3.deposita(350);
contas.add(c3);
Collections.sort(contas);
for(int i= 0; i<contas.size(); i++){
System.out.println("Saldo " +contas.get(i).getSaldo());
}
}
}[/code]
Creio que a comparação se forma por essa classe, ordenar pelo Saldo eu ja consegui mas por Nome não tenho a minima idéia.
[code]public class ContaPoupanca extends Conta implements Comparable{
@Override
public int compareTo(ContaPoupanca arg0) {
// TODO Auto-generated method stub
return 0;
}
}[/code]
nbluis
#2
Exite um método Collections.sort() que recebe a lista e o comparador.
Dai basta implementar o comparador.
A string já tem um método de comparacao.
string.compareTo(string2);
nbluis
#3
Fiz um exemplinho.
public class MyObject {
private String name;
public MyObject(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<MyObject> list = new ArrayList<MyObject>();
list.add(new MyObject("dd"));
list.add(new MyObject("aa"));
list.add(new MyObject("bb"));
list.add(new MyObject("cc"));
Collections.sort(list, new Comparator<MyObject>() {
public int compare(MyObject o1, MyObject o2) {
if (o1 != null && o2 != null && o1.getName() != null && o2.getName() != null) {
return o1.getName().compareTo(o2.getName());
}
return 0;
}
});
//imprime ordenado
for (MyObject o : list) {
System.out.println(o.getName());
}
}
}
Até…
Puts… vlw mesmo !!! Associei ao meu ex e consegui !!!
Vlw abraços