박서희연구소

[Java] Lambda Expression 본문

○ Programming [Basic]/Java

[Java] Lambda Expression

SEOHUI PARK 2022. 9. 5. 18:01
반응형

1. Lambda Expression 이란?

Lambda Expression 이란, 표현식을 사용해 하나의 메서드를 표현하는 명확하고 간결한 방법을 제공하며, Java 8 부터 지원된다.

특히, Collection 에서 데이터를 반복, 필터링 및 추출하는데 유용하다.

 

2. 특징

  • 구현을 제공하기 위한 메서드를 재정의할 필요가 없고, 구현 코드만 작성
  • 함수를 메서드 인수로 처리하거나, 코드를 데이터로 처리하도록 설정
  • 클래스에 속하지 않고 사용 가능
  • Lambda 는 객체인 것 처럼 전달되며, 요청 시 실행 가능

 

3. 내가 활용해 본 Lambda

interface Vehicle {
    void car();
}
    
interface Fruit {
    String pull(String type);
}
    
interface Operation {
    int minus(int a, int b);
}

public void lambdaExample() {
    String carType = "G80";

    // Do not use lambda
    Vehicle vehicle = new Vehicle() {
        @Override
        public void car() {
            System.out.println("Car is " + carType);
        }
    };
    vehicle.car();

    // Using lambda
    Vehicle vehicle2 = () -> {
        System.out.println("Car is " + carType);
    };
    vehicle2.car();

    // Single Parameter
    Fruit fruit = (type) -> {
        return "Pull!, " + type;
    };
    System.out.println(fruit.pull("apple"));

    // Use multiple parameters and no return keywords
    Operation operation = (a, b) -> (a - b);
    System.out.println(operation.minus(5, 2));

    // Foreach Loop
    List<String> list = new ArrayList<>();
    list.add("Red");
    list.add("Blue");
    list.add("Orange");

    list.forEach((n) -> System.out.println(n));
}

결과

- 끝 -

반응형

'○ Programming [Basic] > Java' 카테고리의 다른 글

[Java] List  (0) 2022.12.26
[Java] Stream  (0) 2022.09.06
[Java] Optional  (0) 2022.09.05
[Java] EnumSet  (0) 2022.09.02
[Java] 객체 지향 프로그래밍[OOP(Object-Oriented Programming)] 이란?  (0) 2020.09.16
Comments