| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2004 16:32:11
|
velo
GUJ Ranger
![[Avatar]](/images/avatar/32b991e5d77ad140559ffb95522992d0.jpg)
Membro desde: 19/02/2004 18:23:55
Mensagens: 797
Localização: Jaraguá do Sul - SC
Offline
|
Boa tarde pessoal,
Eu tenho um arrayList de objetos com os seguintes atributos:
String nome;
int inicio;
int fim;
Eu gostaria de classificar o meu arrayList pelo número de inicio, como posso fazer isso? Alguem tem uma luz?
VELO
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2004 16:39:15
|
aborges
GUJ Ranger
![[Avatar]](/images/avatar/c896d785411ce08cdd4ea.jpg)
Membro desde: 08/10/2003 11:44:19
Mensagens: 818
Localização: Caçapava - SP
Offline
|
Tente isto:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Arrays.html
sort
public static void sort(Object[] a,
Comparator c)
Sorts the specified array of objects according to the order induced by the specified comparator. All elements in the array must be mutually comparable by the specified comparator (that is, c.compare(e1, e2) must not throw a ClassCastException for any elements e1 and e2 in the array).
This sort is guaranteed to be stable: equal elements will not be reordered as a result of the sort.
The sorting algorithm is a modified mergesort (in which the merge is omitted if the highest element in the low sublist is less than the lowest element in the high sublist). This algorithm offers guaranteed n*log(n) performance.
|
Linux é que nem sexo, quem não conheçe diz que dói
Alexandre Borges |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2004 16:40:58
|
Rafael Steil
Administrador
![[Avatar]](/images/avatar/8e296a067a37563370ded05f5a3bf3ec.jpg)
Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline
|
Use o metodo sort() da classe Collections ( java.util.Collections ). Faca o seu Comparator e voila
Se tiver duvidas sobre como fazer um Comparador, uma pesquisa no google tras varios exemplos.
Rafael
|
"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"
http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2004 18:34:10
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
É babinha. Só lembrar que você não precisa definir ambos os métodos da interface Comparator, só o "compare".
Outra coisa é que o "compare" é obrigatoriamente "public int compare(Object o1, Object o2)", se definir como "public int compare(Presidente p1, Presidente p2)" não funciona de jeito nenhum (nem compila).
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/12/2007 10:34:55
|
marceloFX
Smalltalk
Membro desde: 03/12/2007 10:27:56
Mensagens: 1
Offline
|
hehehe
mais de três anos depois e eu ainda apanhando com isso...
fiz questão de registrar no site só pra falar muito obrigado..
eu ainda tive um outro probleminha... no exemplo anterior foi usado int...
o meu é com String... vai como que fica em String(se é que num tem um jeito melhor, pelo menos pra mim esse deu certo...)
onde blah é um ArrayList de um objeto categoria, que tem um atributo nome( dae o .getNome ) que ja recebeu um monte de objeto de maneira aleatória...
thingol, valeu mesmo... essa sua "babinha" me ajudou muito..
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/08/2008 02:16:14
|
Wallison Brunno
Smalltalk
Membro desde: 10/08/2008 02:07:41
Mensagens: 2
Offline
|
Alguem pode me ajudar nesse codigo
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.lang.String;
/**
*
* @author wallison
*/
public class TestaOrdenacao {
public class contas {
public static void main(String[] args) {
List<ContaPoupanca> contas = new ArrayList<ContaPoupanca>();
ContaPoupanca c1 = new ContaPoupanca();
c1.setNumero(150);
contas.add(c1);
ContaPoupanca c2 = new ContaPoupanca();
c2.setNumero(100);
contas.add(c2);
ContaPoupanca c3 = new ContaPoupanca();
c3.setNumero(200);
contas.add(c3);
Collections.sort(contas);
for(int i = 0; i < contas.size(); i++){
ContaPoupanca cc = contas.get(i);
System.out.println(cc.getSaldo());
}
Da um erro no loop mas nao consigo descobrir..
Alguem sabe?????
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/08/2008 02:23:16
|
Wallison Brunno
Smalltalk
Membro desde: 10/08/2008 02:07:41
Mensagens: 2
Offline
|
Tbm queria descobrir o erro desse codigo:
public class ContaCorrente extends Conta implements Comparable(ContaPoupanca) {
public int compareTo(ContaPoupanca outra) {
if (this.getNumero() < outra.getNumero()) {
return -1;
}
if (this.getNumero() > outra.getNumero()) {
return 1;
}
return 0;
}
}
Alguem saberia fazer ele rodar?
|
|
|
 |
|
|