Как использовать лямбда-выражения в Java 8?

Рейтинг: 0Ответов: 2Опубликовано: 17.03.2015

Как использовать лямбда выражения в Java 8? Я не понимаю, как использовать лямбда-выражения. Нахожу примеры в Интернете, но они как бы для частного случая, и непонятно, как оно работает. К примеру, вот это:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
numbers.forEach(System.out::println);

Не нашел примера для String.
К примеру, хочу лямбда-выражением сделать сравнение, если в этом слове находится определенное слово, то распечатать его на консоль. Можете ли мне объяснить?

Ответы

▲ 2Принят
        List<String> stringList = new ArrayList<>();
        stringList.add("Кот");
        stringList.add("Пёс");
        stringList.add("Котопёс");

        List<String> resultList = stringList.stream()
                        .filter(value -> value.startsWith("Кот"))
                        .collect(Collectors.toList());
        resultList.forEach(value -> System.out.println(value));
▲ 10

Почему бы вам не прекратить обучаться по примерам и не почитать какую-нибудь литературу, в которой подробно объясняется принцип работы лямбда-выражений в Java? Эта тема слишком обшираня, чтобы её можно было более-менее полно описать в рамках ответа на форуме.

Лямбды хорошо описаны в этой статье. А если хотите подробнее, почитайте книги, например, эту или эту.