JavaRush/Java блог/Архив info.javarush/Создание собственного цикла с помощью лямбда-выражений в ...
gnev
24 уровень

Создание собственного цикла с помощью лямбда-выражений в Java 8

Статья из группы Архив info.javarush
участников
В 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"); } Источник
Комментарии (1)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
kerradus
Уровень 30
25 апреля 2014, 11:02
Спасибо за перевод. А можно ссылочку на оригинал? Если переводы делаешь, то всегда, желательно, оставлять ссылку на оригинал. А то иногда непонятные моменты «съедаются» переводом.