Boa tarde
Estou fazendo exercício da apostila fj-16, 4.7 opcional 3, pag 56 e não to conseguindo resolver o exercício abaixo, se alguém que ja fez o curso poder ajudar agradeço.
Enunciado:
Faça com que Negocio seja uma objeto Comparable, implementando essa interface. O critério de comparação deve ser delegado para a data do negócio(Calendar é Comparable).
Agora podemos, logo no inicio do método, ordenar todos os negócios com Collections.sort e não precisamos mais verificar se os negócios estão vindo em ordem crescente!.
public List<Candlestick> constroiCandles(List<Negocio> todosNegocios) {
List<Candlestick> candles = new ArrayList<Candlestick>();
List<Negocio> negociosMesmoDia = new ArrayList<Negocio>();
Comparable<Negocio> compara = new Comparable<Negocio>() {
//Como implemento esse método ?
@Override
public int compareTo(Negocio o) {
return 0;
}
};
Calendar dataPrimeiro = todosNegocios.get(0).getData();
for (Negocio negocio : todosNegocios) {
if(dataPrimeiro.after(negocio.getData())){
throw new IllegalStateException("Negocio em ordem incorreta");
}
if (!isMesmoDia(dataPrimeiro, negocio.getData())) {
candles.add(constroiCandleParaData(dataPrimeiro,
negociosMesmoDia));
negociosMesmoDia = new ArrayList<Negocio>();
dataPrimeiro = negocio.getData();
}
negociosMesmoDia.add(negocio);
}
candles.add(constroiCandleParaData(dataPrimeiro, negociosMesmoDia));
return candles;
}