Pessoal,
Estou tendo algumas dúvidas ao implementar a minha classe comparator!
estou tentando fazer algo bem simples mas preciso de uma ajuda de vcs!
Vou armazenando valores em um ArrayList e apos a quinta inclusão no array eu paro e ele exibe todos os meus registros ordenados pelo atributo Peso do objetos inserido no array: (decrescente)
Será que alguem poderia dar uma força
Desde ja muito Obrigado
NO MAIN:
[code]package br.com.caelum.teste;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import javax.swing.JOptionPane;
import org.omg.CORBA.TypeCodePackage.BadKind;
public class TestaBoi {
public static void main(String[] args) {
try {
int limite = 2;
int cont = 0;
ArrayList Boi = new ArrayList();
for (int i = 0; i < limite; i++) {
cont++;
int cod = cont;
String carga = JOptionPane.showInputDialog("Boi número: " + cod
+ "\nEntre com o Peso: ");
int pes = Integer.parseInt(carga);
String name = JOptionPane.showInputDialog("Boi número: " + cod
+ "\nEntre com o Nome: ");
Boi Bois = new Boi(cod, pes, name);
Boi.add(Bois);
System.out.println(Boi.get(i));
if (cod == 5) {
Collections.sort(Boi);
System.out.println(Boi);
}
}
} catch (Exception e) {
}
}
}[/code]
CLASSE COMPARABLE:
[code]package br.com.caelum.teste;
public interface Comparable {
public int compareTo(T o);
}[/code]
CLASSE BOI:
[code]package br.com.caelum.teste;
import java.util.ArrayList;
import javax.print.attribute.standard.MediaSize.Other;
import javax.swing.JOptionPane;
public class Boi implements Comparable {
int code;
int peso;
String nome;
public Boi(int code, int peso, String nome) {
super();
this.code = code;
this.nome = nome;
this.peso = peso;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public int getPeso() {
return peso;
}
public void setPeso(int peso) {
this.peso = peso;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
// ***************************************************** //
public String toString() {
return "Codigo: " + code + "\nPeso: " + peso + "\nNome: " + nome + "\n";
}
public int compareTo(Object o) {
if (this.peso > peso) {
return -1;
} else {
if (this.peso < peso) {
return 1;
} else {
return 0;
}
}
}
}[/code]
Onde estou errando pessoal???
Vaaaleuu desde já.