Oi,
Acho que as classes/interfaces SortedList / Comparable / Collection
podem te ajudar nesse caso... S� dar uma olhada na documenta��o da JDK.
.: marcelo :.
| Italo:
|
| Est� meio ineficiente... (utilizei compara��es de String e BubbleSort para
| ordena��o)...
| Tamb�m n�o sei se seria a melhor maneira de implementar isso...
| Mas acho que d� para voc� ter uma id�ia:
|
| Passe para o m�todo static ordenaRegistro o array de Registros e uma
String
| dizendo qual par�metro ordenar...
|
| Segue:
|
| ************************************************************
|
| public class Registro {
| int cod;
| String name;
| int telefone;
|
| public Registro(int cod, String name, int telefone) {
| this.cod = cod;
| this.name = name;
| this.telefone = telefone;
| }
|
| public static void ordenaRegistro(Registro[] r, String param) {
| for (int i = 0; i < r.length; i++) {
| for (int j = 0; j < r.length - 1; j++) {
| try {
| String s = (String) r[j].getParam(param);
| if (s.compareTo(r[j + 1].getParam(param)) > 0) {
| Registro hold = r[j];
| r[j] = r[j + 1];
| r[j + 1] = hold;
| }
|
| }
| catch (java.lang.ClassCastException e) {
| Integer k = (Integer) r[j].getParam(param);
| if (k.compareTo(r[j + 1].getParam(param)) > 0) {
| Registro hold = r[j];
| r[j] = r[j + 1];
| r[j + 1] = hold;
| }
|
| }
| }
| }
| }
|
| public Object getParam(String param) {
|
| if (param.equals("cod")) {
| return new Integer(cod);
| }
| else if (param.equals("name")) {
| return name;
| }
| else {
| return new Integer(telefone);
| }
| }
|
| public String toString() {
| return cod + " - " + name + " - " + telefone;
| }
|
| public static void main(String[] v) {
| Registro r1 = new Registro(1, "marcio", 5555555);
| Registro r2 = new Registro(2, "marcelo", 1111111);
| Registro r3 = new Registro(6, "andre", 3333333);
| Registro rn[] = {r1, r2, r3};
| int i = 0;
|
| int n = rn.length;
| System.out.println("Ordenado por \"cod\"");
| Registro.ordenaRegistro(rn, "cod");
| for (i = 0; i < n; i++) {
| System.out.println(rn[i]);
| }
| System.out.println("\nOrdenado por \"name\"");
| Registro.ordenaRegistro(rn, "name");
| for (i = 0; i < n; i++) {
| System.out.println(rn[i]);
| }
| System.out.println("\nOrdenado por \"telefone\"");
| Registro.ordenaRegistro(rn, "telefone");
| for (i = 0; i < n; i++) {
| System.out.println(rn[i]);
| }
| }
|
| }
|
| ----- Original Message -----
| From: <[EMAIL PROTECTED]>
| To: <[EMAIL PROTECTED]>
| Sent: Friday, March 01, 2002 9:25 AM
| Subject: [java-list] sort dinamico
|
|
| > pessoal
| >
| > eu gostaria de buscar no banco uma certa quantidade de registros, que
| contenha 3 campos.
| >
| > e queria armazenar em um codiga java de forma que quando for utilizar
| estes registros possa escolher a ordem de busca: por exemplo:
| >
| >
| > campos : cod name telefone
| > --- ------------ --------
| > 1 marcio 5555555
| > 2 marcelo 1111111
| > 6 andre 3333333
| >
| > em determinada situacao quero que estes registros venham ordenados por
| cod. Em outra situacao quero que os registros venham ordenados por nome. E
| em outra situacao quero registros ordenados venham por telefone.
| >
| >
| > ------------------------------ LISTA
SOUJAVA ----------------------------
| > http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
| > d�vidas mais comuns: http://www.soujava.org.br/faq.htm
| > regras da lista: http://www.soujava.org.br/regras.htm
| > historico: http://www.mail-archive.com/java-list%40soujava.org.br
| > para sair da lista: envie email para
[EMAIL PROTECTED]
|
> -------------------------------------------------------------------------
| >
|
|
| ------------------------------ LISTA SOUJAVA ----------------------------
| http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
| d�vidas mais comuns: http://www.soujava.org.br/faq.htm
| regras da lista: http://www.soujava.org.br/regras.htm
| historico: http://www.mail-archive.com/java-list%40soujava.org.br
| para sair da lista: envie email para [EMAIL PROTECTED]
| -------------------------------------------------------------------------
|
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------