Recent comments

Iterar una Lista usando streams

 

El siguiente codigo recibe una lista de fechas y retorna una lista de años distintos de las fechas

 




        List<Integer> anios = fechas.stream()
                .map((date)->{
                  Calendar calendar = Calendar.getInstance();
                  calendar.setTime(date);
                  return calendar.get(Calendar.YEAR);
                })
                .distinct()
                .collect(Collectors.toList());

Also this code can be replaced by the next code:


    private static int obtenerAnioDeFecha(final Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        return calendar.get(Calendar.YEAR);
    }


and the call it will be as show it:

 

 List<Integer> anios = fechas.stream()
                .map(CLASSNAME::obtenerAnioDeFecha)
                .distinct()
                .collect(Collectors.toList());


 

No hay comentarios.