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] -------------------------------------------------------------------------