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.
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.
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).
Pro seu caso acho melhor o Collections.min(suaColecao).
Muito bem observado. Fica bem mais simples nesse caso.
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.
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() );
}
});
Ok. Obrigado Bruno, tentarei implementar.
Bruno, está acusando o seguinte erro: “method compareTo not found”.