Я быстро прочитал документацию Oracle Lambda Expression.
Этот пример помог мне лучше понять, хотя:
//Old way:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
for(Integer n: list) {
System.out.println(n);
}
//New way:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
list.forEach(n -> System.out.println(n));
//or we can use :: double colon operator in Java 8
list.forEach(System.out::println);
Тем не менее, я не понимаю, почему это такое новшество. Это просто метод, который умирает, когда "переменная метода" заканчивается, правильно? Почему я должен использовать это вместо реального метода? Какой будет лучший вариант с точки зрения производительности. Лямбда или простая петля.