Click here to watch in Youtube : https://www.youtube.com/watch?v=g7G380lDv0c&list=UUhwKlOVR041tngjerWxVccwPerson.javaenum Gender
{
MALE, FEMALE
}
public class Person
{
private String name;
private String email;
private Gender gender;
private int age;
public Person(String name, String email, Gender gender, int age)
{
super();
this.name = name;
this.email = email;
this.gender = gender;
this.age = age;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getEmail()
{
return email;
}
public void setEmail(String email)
{
this.email = email;
}
public Gender getGender()
{
return gender;
}
public void setGender(Gender gender)
{
this.gender = gender;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
@Override
public String toString()
{
return "Person [name=" + name + "]";
}
}
StreamMinDemo.javaimport java.util.ArrayList;
import java.util.List;
import java.util.Optional;
public class StreamMinDemo
{
public static void main(String[] args)
{
List<Person> personList = new ArrayList<>();
personList.add(new Person("Alice","alice@gmail.com", Gender.FEMALE, 26));
personList.add(new Person("Bob","bob@gmail.com", Gender.MALE, 32));
personList.add(new Person("Carol","carol@gmail.com",Gender.FEMALE, 23));
personList.add(new Person("David","david@gmail.com", Gender.MALE, 39));
personList.add(new Person("Eric","eric@gmail.com", Gender.MALE, 26));
/*
* The min(comparator) is a special reduction operation that returns the
* minimum element in the stream according to the provided comparator.
* It returns an Optional which is a container object that contains the
* value.
*
* For example, the following code snippet finds the youngest
* female person in the list:
*/
Optional<Person> optional = personList.stream()
.filter(p -> p.getGender().equals(Gender.FEMALE))
.min((p1, p2) -> p1.getAge() - p2.getAge());
if (optional.isPresent())
{
Person youngestGirl = optional.get();
System.out.println("The youngest girl is: " + youngestGirl.getName()
+ " (" + youngestGirl.getAge() + ")");
}
}
}
OutputThe youngest girl is: Carol (23)
Click the below link to download the code:https://sites.google.com/site/ramj2eev1/home/javabasics/StreamDemo_min_youngestgirl.zip?attredirects=0&d=1Github Link:https://github.com/ramram43210/Java/tree/master/BasicJava/StreamDemo_min_youngestgirlBitbucket Link:https://bitbucket.org/ramram43210/java/src/17906082b9d83230789adc7b5df551c73ce2b46f/BasicJava/StreamDemo_min_youngestgirl/?at=masterSee also: All JavaEE Viedos PlaylistAll JavaEE ViedosAll JAVA EE LinksServlets TutorialAll Design Patterns LinksJDBC TutorialJava Collection Framework TutorialJAVA TutorialKids Tutorial