Поскольку несколько человек просили что-то вроде этого, вот несколько вещей, которые вы могли бы сделать, хотя ли это на самом деле лучше спорно и дело вкуса:
void times(int n, Runnable r) {
for (int i = 0; i < n; i++) {
r.run();
}
}
Использование:
times(10,() -> System.out.println("Hello, world!"));
Или:
void times(int n, IntConsumer consumer) {
for (int i = 0; i < n; i++) {
consumer.accept(i);
}
}
Использование:
times(10, x -> System.out.println(x+1));
Или:
void range(int lo, int hi, IntConsumer consumer) {
for (int i = lo; i < hi; i++) {
consumer.accept(i);
}
}
Использование:
range(1, 11, x -> System.out.println(x));
Это всего лишь несколько идей. Разработанный вдумчиво, помещенный в общую библиотеку и используемый последовательно, они могли бы сделать общий, идиоматический код кратким, но читаемым. Используемые беззаботно, они могли бы превратить иначе простой код в неуправляемый беспорядок. Я сомневаюсь, что все двое разработчиков никогда не договорятся о том, где именно следует рисовать линии.
В зависимости от ситуации можно использовать для каждого цикла или [потоков Java 8] (https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html) , –
Если вы используете eclipse IDE, для петель есть сокращение. Таким образом, вы можете ввести только несколько символов, и все готово. – Alp
Вы также можете написать свою собственную сокращенную функцию 'doInRange (int max, IntConsumer whatToDo)' –