English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 예제에서는 Java에서 lambda 표현식을 메서드 매개변수로 전달하는 방법을 배웁니다.
이 예제를 이해하려면 다음을 이해해야 합니다Java 프로그래밍주제:
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의 모든 요소를 받아들여 대문자로 변환합니다.
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의 각 요소를 반전합니다.