Menor data de uma Collection

7 respostas
L

Boa tarde.

Preciso obter a menor data de uma coleção de credenciamentos. A classe possui um método getCollVO que retorna uma Collection.
Alguém poderia me ajudar com a lógica. Obrigado.

7 Respostas

M

Bem vindo ao fórum!

Crie um ArrayList a partir da Collection que é retornada.

Depois use o método Collections.sort(suaLista) para ordenar a lista em ordem crescente.

Como você quer a menor data, basta pegar o primeiro valor da lista usando suaLista.get(0).

O

Pro seu caso acho melhor o Collections.min(suaColecao).

M

Muito bem observado. Fica bem mais simples nesse caso.

L

Entendi.

Mas eu preciso também fazer referencia ao atributo DataInicial, ou seja, o credenciamento possui uma data inicial, preciso obter a menor data de uma coleção de credenciamentos (CredenciamentoVO).

Obrigado pela ajuda.

B

Alguns métodos de comparação do Collections também podem receber um Comparator que contém a lógica a ser implementada somente para este caso, não precisando implementar a interface Comparable nos objetos a serem comparados:

CredenciamentoVO menorCredenciamento = Collections.min(listaDeCredenciamentos, new Comparator<CredenciamentoVO>(){
  public int compare(CredenciamentoVO este, CredenciamentoVO outro)
  {
     return este. getDataInicial(). compareTo( outro.getDataInicial() );
  } 
});
L

Ok. Obrigado Bruno, tentarei implementar.

L

Bruno, está acusando o seguinte erro: “method compareTo not found”.

Criado 19 de abril de 2010
Ultima resposta 26 de abr. de 2010
Respostas 7
Participantes 4