Sobes.tech
Junior
93
questionbank

Что такое лямбда-выражения в Java?

Ответ от нейросети

sobes.tech AI

Лямбда-выражение в Java — это краткий способ представления анонимной функции. Оно используется для реализации функциональных интерфейсов (интерфейсов с одним абстрактным методом).

Синтаксис: (параметры) -> тело функции

Примеры:

  • () -> System.out.println("Привет, мир!") - без параметров
  • (int a, int b) -> a + b - с двумя параметрами и возвращаемым значением
  • s -> s.length() - с одним параметром, тип выводится

Преимущества:

  • Более читаемый и лаконичный код
  • Упрощает работу с коллекциями (Stream API)
  • Используется в функциональном программировании

Пример использования с функциональным интерфейсом Runnable:

// До Java 8
new Thread(new Runnable() {
    @Override
    public void run() {
        System.out.println("Старый способ");
    }
}).start();

// С использованием лямбды
new Thread(() -> System.out.println("Новый способ")).start();

Пример использования со Stream API:

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

// Фильтрация списка с использованием лямбды
List<String> names = Arrays.asList("Иван", "Петр", "Анна", "Елена");
List<String> longNames = names.stream()
                              .filter(name -> name.length() > 4)
                              .collect(Collectors.toList());

System.out.println(longNames); // [Анна, Елена]

Лямбды стали ключевой особенностью Java 8 и активно используются в современной разработке.