Comparar objeto GregorianCalendar

6 respostas
P

Boa tarde pessoas.
Estou com uma dúvida que não acho em nenhum lugar.
Eu instancio um objeto GregorianCalendar desta maneira:

GregorianCalendar gc = new GregorianCalendar(ano, mes, dia);

E eu armazeno esse objeto em uma lista.
O que eu preciso é recuperar todos os objetos que contenham determinada data. O usuário vai digitar um mês e um ano.
Assim eu vou ordenar essa lista em ordem cronológica.

Grato.

6 Respostas

luiz_renato

pqnoje,

Estude ordenação pelo java.util.Comparator
http://serjaum.wordpress.com/2009/07/21/classificacao-com-comparable-e-comparator-em-java/
http://blog.caelum.com.br/ordenando-colecoes-com-comparable-e-comparator/

drsmachado
for(int i = 0; i < lista.size(); i++){
  Object o = lista.get(i);
 if(o.getData.equals(dataInformada)){
  //faz o que tem que fazer
}
}

Manja?

F

pqnoje:
Boa tarde pessoas.
Estou com uma dúvida que não acho em nenhum lugar.
Eu instancio um objeto GregorianCalendar desta maneira:

GregorianCalendar gc = new GregorianCalendar(ano, mes, dia);

E eu armazeno esse objeto em uma lista.
O que eu preciso é recuperar todos os objetos que contenham determinada data. O usuário vai digitar um mês e um ano.
Assim eu vou ordenar essa lista em ordem cronológica.

Grato.

Use uma TreeSet

Set<GregorianCalendar> datas = new TreeSet<GregorianCalendar>();
    datas.add(new GregorianCalendar(2011,Calendar.DECEMBER, 10));
    datas.add(new GregorianCalendar(2011,Calendar.DECEMBER, 1));
P

Já aprendi a ordenar.

public int compareTo(Venda v){ return date.compareTo(v.date); }

O que eu preciso e to com dificuldade é como comparar 2 inteiros que representam mês e ano comparar com um objeto GregorianCalendar.

drsmachado

pqnoje:
Já aprendi a ordenar.

public int compareTo(Venda v){ return date.compareTo(v.date); }

O que eu preciso e to com dificuldade é como comparar 2 inteiros que representam mês e ano comparar com um objeto GregorianCalendar.

Então a dúvida não é com Gregorian Calendar
É com a comparação entre valores de classes distintas

Corrija o título do tópico, quem sabe a resposta vem mais rápida

P

GregorianCalendar gc = new GregorianCalendar(2011,10,12); if(gc.get(gc.YEAR) == 2011){ System.out.println("True"); }else{ System.out.println("False"); }

Eu consegui comparar o ano dessa forma, será se tá certo?

Criado 14 de dezembro de 2011
Ultima resposta 14 de dez. de 2011
Respostas 6
Participantes 4