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

Java Basic Tutorial

Java Flow Control

Java Array

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

Java Exception Handling

Java List

Java Queue (Queue)

Java Map Collection

Java Set Collection

Java Input/Output (I)/O)

Java Reader/Writer

Other Java Topics

Java program passes lambda expressions as method parameters

Comprehensive Java Examples

In this example, we will learn to pass lambda expressions as method parameters in Java.

To understand this example, you should know the followingJava ProgrammingTopic:

Example1: Define lambda expression as a method parameter

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        //Create an ArrayList
        ArrayList<String> languages = new ArrayList<>();
        //Add elements to ArrayList
        languages.add("java");
        languages.add("swift");
        languages.add("python");
        System.out.println("ArrayList: "); + languages);
        //Pass lambda expression as a parameter to the replaceAll() method
        languages.replaceAll(e -> e.toUpperCase());
        System.out.println("Updated ArrayList: "); + languages);
    }
}

Output Result

ArrayList: [java, swift, python]
Updated ArrayList: [JAVA, SWIFT, PYTHON]

In the above example, we created an arraylist named languages. Note this line,

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

Here, e -> e.toUpperCase() is a lambda expression. It accepts all elements of the arraylist and converts them to uppercase.

Example2: Pass multi-line lambda body as a function parameter

import java.util.ArrayList;
import java.util.Arrays;
class Main {
  public static void main(String[] args) {
    //Create an ArrayList
    ArrayList<String> languages = new ArrayList<>(Arrays.asList("java", "python"));
    System.out.println("ArrayList: "); + languages);
    //Call the forEach() method
    //Pass lambda as a parameter to forEach()
    //Reverse each element of ArrayList
    System.out.print("Reversed ArrayList: ");
    languages.forEach((e) -> 	{
      //Lambda Expression Body
      String	result	= 	"";
      for	(int	i	= 	 e.length()	-1;	 i	 >=	 0	 ;	 i--)
      result +=	 e.charAt(i);
      System.out.print(result + ",	");
    });
  }
}

Output Result

ArrayList: [java, python]
Reversed ArrayList: avaj, nohtyp,

In the above example, we create an arraylist named languages. Note this line,

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

In this example, we pass the lambda expression as a parameter toArrayList forEach()Method. The lambda expression reverses each element of the arraylist.

Comprehensive Java Examples