Array de datas (String) , como pegar a mais recente?

1 resposta
datedatetimejava
R

Vou ler um atributo do usuários que seria a data de expiração. Portanto o usuário ja possuiu diversas datas e preciso pegar a mais recente.

Meu pensamento seria inserir as datas em um array ou vector e verificar a mais recente, mas não sei como fazer isso

EX:

03/02/2017
05/02/2017
10/02/2017

Preciso que o retorno seja 10/02/2017 por ser a mais recente. Mas como faço o comparativo com as outras datas?

Alguma dica?

1 Resposta

L
final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");

List<String> datas = Arrays.asList("03/02/2017", "05/02/2017", "10/02/2017");
LocalDate maisRecente = datas.stream()
        .map(s -> LocalDate.parse(s, formatter))
        .max(Comparator.naturalOrder())
        .get();
System.out.println("Mais recente: " + maisRecente.format(formatter));
Criado 2 de março de 2017
Ultima resposta 2 de mar. de 2017
Respostas 1
Participantes 2