English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 흐름 제어

Java 배열

Java 객체 지향(I)

Java 객체 지향(II)

Java 객체 지향(III)

Java 예외 처리

Java 목록(List)

Java Queue(큐)

Java Map 집합

Java Set 집합

Java 입력 출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 프로그램이 lambda 표현식을 메서드 매개변수로 전달

Java 예제 전체

이 예제에서는 Java에서 lambda 표현식을 메서드 매개변수로 전달하는 방법을 배웁니다.

이 예제를 이해하려면 다음을 이해해야 합니다Java 프로그래밍주제:

예제1:lambda 표현식을 메서드 매개변수로 정의

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        //ArrayList을 생성합니다
        ArrayList<String> languages = new ArrayList<>();
        //ArrayList에 요소 추가
        languages.add("java");
        languages.add("swift");
        languages.add("python");
        System.out.println("ArrayList: "); + languages);
        //lambda 표현식을 replaceAll() 메서드에 전달합니다
        languages.replaceAll(e -> e.toUpperCase());
        System.out.println("수정된 ArrayList: "); + languages);
    }
}

출력 결과

ArrayList: [java, swift, python]
수정된 ArrayList: [JAVA, SWIFT, PYTHON]

위 예제에서는 languages라는 배열리스트를 생성했습니다. 주의해야 할 것은 이 줄입니다.

languages.replaceAll(e -> e.toUpperCase());

여기서, e -> e.toUpperCase()는 lambda 표현식입니다. ArrayList의 모든 요소를 받아들여 대문자로 변환합니다.

예제2:다중 행 lambda 본체를 함수 매개변수로 전달

import java.util.ArrayList;
import java.util.Arrays;
class Main {
  public static void main(String[] args) {
    //ArrayList을 생성합니다
    ArrayList<String> languages = new ArrayList<>(Arrays.asList("java", "python"));
    System.out.println("ArrayList: "); + languages);
    //forEach() 메서드를 호출합니다
    //lambda를 forEach()에 전달합니다
    //ArrayList의 각 요소를 반전합니다
    System.out.print("반전된 ArrayList: ");
    languages.forEach((e) -> {
      //Lambda 표현식 본문
      String result = "";
      for (int i = e.length()-1; i >= 0 ; i--)
      result += e.charAt(i);
      System.out.print(result + ", ");
    });
  }
}

출력 결과

ArrayList: [java, python]
반전된 ArrayList: avaj, nohtyp,

위의 예제에서는 languages 이름의 ArrayList를 생성했습니다. 주의해야 할 이 점이 있습니다.

    languages.forEach((e) -> {
      //Lambda 표현식 본문
      String result = "";
      for (int i = e.length()-1; i >= 0 ; i--)
      result += e.charAt(i);
      System.out.print(result + ", ");
    });

여기서, 우리는 lambda 표현식을 매개변수로 전달합니다.ArrayList forEach()메서드. lambda 표현식은 ArrayList의 각 요소를 반전합니다.

Java 예제 전체