Pessoal…
Tenho uma matriz:
id nome cpf
3 andre 111
1 fulano 111
2 Beltano 333
Gostaria de ordena a coluna " ID " com suas caracteristicas, mas quando tento ordena. Ele só ordena a coluna “ID”.;
Como poderia fazer para deixar dessa forma:
id nome cpf
1 fulano 111
2 Beltano 333
3 andre 111
Aqui no guj tem alguns exemplos de ordenação de matriz, por exemplo:
http://www.guj.com.br/posts/list/25392.java
Mas caso esteja iniciando com java agora, sugiro que comece por ordenações mais simples para ficar mais de entender.
Para solucionar o seu problema poderia ser feito algo como abaixo, porém existe diversas formas de fazer. O exemplo abaixo foi feito utilizando do método sorte da classe Arrays jundo ta implementação da interface comparetor
//matriz antes de ordenar
String matriz[][] = {
{"3", "Andre", "111"},
{"1", "fulano", "111"},
{"2", "Beltano", "333"}
};
Arrays.sort(matriz, new Comparator() {//utilizando a interface comparetor
public int compare(Object o1, Object o2) {
String[] a1 = (String[]) o1;
String[] a2 = (String[]) o2;
//testando o valor da primeira coluna
if (Integer.parseInt(a1[0]) == Integer.parseInt(a2[0])) {//caso os ids sejam iguais
return 0;
} else {
return Integer.parseInt(a1[0]) < Integer.parseInt(a2[0]) ? -1 : +1;
}
}
});
//depois de ordenada
for (int i = 0; i < matriz.length; i++) {
for (int j = 0; j < matriz[i].length; j++) {
System.out.print(matriz[i][j] + " ");
}
System.out.println("\n");
}