JavaRush /Java блог /Random UA /Створення власного циклу за допомогою лямбда-виразів у Ja...
gnev
24 рівень

Створення власного циклу за допомогою лямбда-виразів у Java 8

Стаття з групи Random UA
У Java немає простої конструкції для повтору чогось N-ої кількості разів. Звичайно, ми можемо створити цикл for, але в переважній більшості випадків нам абсолютно байдуже, що за змінну ми створюємо в циклі. Ми просто хочемо, щоб деяка частина коду була повторена N разів і все. З появою лямбда-виразів у Java 8 ви можете використовувати щось на кшталт цього: public class RepeatDemo { public static void main(String[] args) { // Повтор одной строки repeat(10, () -> System.out.println("HELLO")); // Повтор нескольких строк repeat(10, () -> { System.out.println("HELLO"); System.out.println("WORLD"); }); } static void repeat(int n, Runnable r) { for (int i = 0; i < n; i++) r.run(); } } Ймовірно, це не тішить око або не так очевидно, як старий добрий цикл for, але зате ви позбавляєтеся зайвої змінної в циклі. Якби тільки Java 8 зробила ще крок вперед і забезпечила б аргументів у лямбда-виразах "шоколадний" синтаксис, тоді ми отримали б щось на кшталт Scala/Groovy коду, що зробило б код куди наочнішим. Наприклад: // Ну разве не здорово было бы иметь такую конструкцию в Java? repeat(10) { System.out.println("HELLO"); System.out.println("WORLD"); } Джерело
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ