a imagem nao quer carregar =/… vou copiar e colar o cod aqui…
[code]package ultils;
import java.util.ArrayList;
import java.util.Collections;
public class MyInt __________ __________ {
public static void main(String[] args) {
ArrayList<MyInt> list = new ArrayList<MyInt>();
list.add(new MyInt(2));
list.add(new MyInt(1));
Collections.sort(list);
System.out.println(list);
}
private int i;
public MyInt(int i){ this.i = i;}
public String toString(){
return Integer.toString(i);
}
__________ int __________ {
MyInt i2 = (MyInt)o;
return __________
}
Code:
implements
extends
Sortable
Object
Comparable
protected
public
i - i2.i
i2.i - i
i
compare(MyInt o, MyInt i2)
comapre(Object o, Object i2)
sort(Object o)
sort(MyInt o)
compareTo(MyInt o)
compareTo(Object o)
}
[/code]
Bom ficaria:
o retorno ficará i - i2.i?
Isso mesmo.
Vlw Vini. Se no return eu colocasse i2.i - i, funcionaria tb né, ia ocorrer uma comparaçao na ordem inversa é isso mesmo?
Sim.
bom … eu sei que esse topco já morreu Vinny
mais o compareTO mais correto não seria esse: compareTo(MyInt o) ??
[quote=Gustavo Santos]bom … eu sei que esse topco já morreu Vinny
mais o compareTO mais correto não seria esse: compareTo(MyInt o) ??[/quote]
Então, mas devido ao exercicio veja só:
[code] __________ int __________ {
MyInt i2 = (MyInt)o;
return __________
}
[/code]
Como ali ta sendo feito o casting, logo o argumento do compareTo, não seria um MyInt.
boa !!! hehe
e quanto a estes códigos aqui tanto faz correto ?!
i - i2.i
i2.i - i
[quote=Gustavo Santos]e quanto a estes códigos aqui tanto faz correto ?!
i - i2.i
i2.i - i [/quote]
Sim, isso ai so vai mudar a ordem da comparação.
[quote=Gustavo Santos]bom … eu sei que esse topco já morreu Vinny
mais o compareTO mais correto não seria esse: compareTo(MyInt o) ??[/quote]
Só se ele implementasse Comparable
Mas ele está implementando só Comparable.
Blz, eu só não entendi o seguinte:
ele cria os dois objetos:
list.add(new MyInt(2));
list.add(new MyInt(1));
Quando ele chamar
Collections.sort(list);
sort(List) vai chamar compareTo(Object o), daí faço o quest e tals ok !!
quando ele vai retornar é que não entendo. Tipo o que é feito ?
Ele pega o valor de i do primeiro objeto, que é 2 - i == 0 ok ?!
Para o segundo objeto 1 - 1 == 0 ?
Tipo como ele faz a comparação, não estou entendo só isso !
[quote=Gustavo Santos]Blz, eu só não entendi o seguinte:
ele cria os dois objetos:
list.add(new MyInt(2));
list.add(new MyInt(1));
Quando ele chamar
Collections.sort(list);
sort(List) vai chamar compareTo(Object o), daí faço o quest e tals ok !!
quando ele vai retornar é que não entendo. Tipo o que é feito ?
Ele pega o valor de i do primeiro objeto, que é 2 - i == 0 ok ?!
Para o segundo objeto 1 - 1 == 0 ?
Tipo como ele faz a comparação, não estou entendo só isso !
[/quote]
Esses retornos estao sendo feitos das seguintes formas:
Agora se invertermos
Dei uma editada na resposta la 
Show Evertom !!!
Muito boa explicação !!!