Click here to watch in Youtube :
https://www.youtube.com/watch?v=Svhh7MEDgdM&list=UUhwKlOVR041tngjerWxVccw
Person.java
public class Person
{
private String name;
private int age;
public Person(String name, int age)
{
super();
this.name = name;
this.age = age;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
@Override
public String toString()
{
return "Person [name=" + name + ", age=" + age + "]";
}
}
PersonFilter.java@FunctionalInterface
public interface PersonFilter
{
public boolean filter(Person person);
}
NonLambdaDemo.javaimport java.util.Arrays;
import java.util.List;
public class NonLambdaDemo
{
public static void main(String[] args)
{
List<Person> personList = Arrays.asList(
new Person("Carla", 33), new Person("Balu", 32),
new Person("Bharth", 40), new Person("Ajay", 31));
System.out.println("------------Name Starts with B---------");
PersonFilter personFilter = new PersonFilter()
{
@Override
public boolean filter(Person person)
{
return person.getName().startsWith("B");
}
};
printNameBeginWith_B(personList, personFilter);
System.out.println("---------------------------------");
}
/*
* Method to print all people that have name begins with B.
*/
private static void printNameBeginWith_B(List<Person> personList,
PersonFilter personFilter)
{
for (Person person : personList)
{
if (personFilter.filter(person))
{
System.out.println(person);
}
}
}
}
Output------------Name Starts with B---------
Person [name=Balu, age=32]
Person [name=Bharth, age=40]
---------------------------------
LambdaDemo.javaimport java.util.Arrays;
import java.util.List;
public class LambdaDemo
{
public static void main(String[] args)
{
List<Person> personList = Arrays.asList(
new Person("Carla", 33), new Person("Balu", 32),
new Person("Bharth", 40), new Person("Ajay", 31));
System.out.println("------------Name Starts with B---------");
PersonFilter personFilter = person -> person.getName().startsWith("B");
printNameBeginWith_B(personList,personFilter);
System.out.println("----------------------------------------");
}
/*
* Method to print all people that have name begins with B.
*/
private static void printNameBeginWith_B(List<Person> personList,
PersonFilter personFilter)
{
for (Person person : personList)
{
if (personFilter.filter(person))
{
System.out.println(person);
}
}
}
}
Output------------Name Starts with B---------
Person [name=Balu, age=32]
Person [name=Bharth, age=40]
----------------------------------------
Click the below link to download the code:https://sites.google.com/site/ramj2eev1/home/javabasics/LambdaDemo_filter_person_App.zip?attredirects=0&d=1
No comments:
Post a Comment