The Artima Developer Community
Sponsored Link

Java Buzz Forum
How to sort the person based on age in Asc order using Java 8 Stream | Streams in Java 8

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Ram N

Posts: 2777
Nickname: ramram
Registered: Jul, 2014

Ram N is Java Programmer
How to sort the person based on age in Asc order using Java 8 Stream | Streams in Java 8 Posted: Oct 3, 2017 7:53 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Ram N.
Original Post: How to sort the person based on age in Asc order using Java 8 Stream | Streams in Java 8
Feed Title: JAVA EE
Feed URL: http://ramj2ee.blogspot.com/feeds/posts/default?alt=rss
Feed Description: This blog has viedo tutorials and Sample codes related to below Technologies. 1.J2EE 2.Java 3.Spring 4.Hibernate 5.Database 6.Oracle 7.Mysql 8.Design Patterns
Latest Java Buzz Posts
Latest Java Buzz Posts by Ram N
Latest Posts From JAVA EE

Advertisement

Click here to watch in Youtube :
https://www.youtube.com/watch?v=n_2PFND1YNA&list=UUhwKlOVR041tngjerWxVccw

Person.java
enum Gender
{
MALE, FEMALE
}

public class Person implements Comparable<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;
}

public int compareTo(Person another)
{
return this.age - another.getAge();
}

@Override
public String toString()
{
return "Person [name=" + name + ", gender=" + gender + ", age=" + age
+ "]";
}

}
StreamSortDemo.java
import java.util.ArrayList;
import java.util.List;

public class StreamSortDemo
{
public static void main(String[] args)
{
List<Person> personList = new ArrayList<>();

personList.add(new Person("Alice", "alice@gmail.com", Gender.FEMALE, 16));
personList.add(new Person("Bob", "bob@gmail.com", Gender.MALE, 15));
personList.add(new Person("Carol", "carol@gmail.com", Gender.FEMALE, 23));
personList.add(new Person("David", "david@gmail.com", Gender.MALE, 19));
personList.add(new Person("Eric", "eric@gmail.com", Gender.MALE, 26));

/*
* The Stream API provides two overloads of the sorted operation that
* returns a new stream consisting elements sorted according to natural
* order or by a specified comparator:
*
* 1.sorted(): sorts by natural order
* 2.sorted(comparator): sorts by a comparator
*
* The following code returns a stream of persons who are sorted by
* their age into ascending order:
*
*/


System.out.println("----------Sorted by Age-------------------");

personList.stream().sorted()
.forEach(p -> System.out.println(p));


System.out.println("\n----------Sorted by Name-------------------");

/*
* The following code shows how to use a specified comparator to return
* a stream of persons who are sorted by their name:
*/

personList.stream()
.sorted((p1, p2) -> p1.getName().compareTo(p2.getName()))
.forEach(System.out::println);
}

}
Output
----------Sorted by Age-------------------
Person [name=Bob, gender=MALE, age=15]
Person [name=Alice, gender=FEMALE, age=16]
Person [name=David, gender=MALE, age=19]
Person [name=Carol, gender=FEMALE, age=23]
Person [name=Eric, gender=MALE, age=26]

----------Sorted by Name-------------------
Person [name=Alice, gender=FEMALE, age=16]
Person [name=Bob, gender=MALE, age=15]
Person [name=Carol, gender=FEMALE, age=23]
Person [name=David, gender=MALE, age=19]
Person [name=Eric, gender=MALE, age=26]

Click the below link to download the code:
https://sites.google.com/site/ramj2eev1/home/javabasics/StreamDemo_sorted_name_age_comp.zip?attredirects=0&d=1

Github Link:
https://github.com/ramram43210/Java/tree/master/BasicJava/StreamDemo_sorted_name_age_comp

Bitbucket Link:
https://bitbucket.org/ramram43210/java/src/be359fe3814dad173cc81feb4c27726905fff42e/BasicJava/StreamDemo_sorted_name_age_comp/?at=master

See also:
  • All JavaEE Viedos Playlist
  • All JavaEE Viedos
  • All JAVA EE Links
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • Kids Tutorial
  • Read: How to sort the person based on age in Asc order using Java 8 Stream | Streams in Java 8

    Topic: Building Spring Boot RESTful Service + Spring Boot Actuator Previous Topic   Next Topic Topic: Java Nio Create Directory Example

    Sponsored Links



    Google
      Web Artima.com   

    Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use