Wpis z mikrobloga

Hej Mireczki i Mirunie.
Czy da się zapisać tę lambdę w krótszy lub bardziej elegancki sposób?

IntStream.of(IntStream.range(0, 1000).filter(i-> i % 3==0 || i % 5 == 0).boxed().collect(Collectors.toList()).stream().mapToInt(Integer::intValue).sum()).forEach(System.out::println);


#java #programowanie
  • 5
@JSkrzetuski: Da się. Należy przestać używać Javy. A tak na serio: nie znam dokładnie API strumieniowego w Javie, ale przy ładnym formatowaniu (tzn. każde wywołanie metody w osobnej linii) taki zapis jest zupełnie normalny w świecie programowania funkcyjnego. Możesz nawet pójść o krok dalej i fragmenty tego one-linera powydzielać do sensownie nazwanych pól i to na nich operować.