import java.time.DayOfWeek; import java.time.LocalDate; import java.time.temporal.TemporalAdjusters; import java.time.temporal.WeekFields; import java.util.List; import java.util.Locale; import java.util.stream.Collectors; import java.util.stream.IntStream; public class Main { // Let's test it } LocalDate localDate = LocalDate.now(); // First day of week DayOfWeek firstDayOfWeek = WeekFields.of(locale).getFirstDayOfWeek(); LocalDate date = localDate.with(TemporalAdjusters.dayOfWeekInMonth(0, firstDayOfWeek)); return IntStream.rangeClosed(0, 6) .mapToObj(i -> date.plusDays(i).getDayOfWeek()) .collect(Collectors.toList()); } }
Standard input is empty
[MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY] [SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY]