The Artima Developer Community
Sponsored Link

Java Buzz Forum
How to accumulate the names of all persons using reduce method of 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 accumulate the names of all persons using reduce method of Java 8 Stream | Streams in Java 8 Posted: Oct 17, 2017 5:31 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Ram N.
Original Post: How to accumulate the names of all persons using reduce method of 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=XKIG-i_2BVE&list=UUhwKlOVR041tngjerWxVccw

Person.java
enum 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 + "]";
}

}
StreamReduceDemo1.java
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

public class StreamReduceDemo1
{
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));

/*
*
* Version #1: Optional<T> reduce(BinaryOperator<T> accumulator) - This
* method performs a reduction on the elements of the stream, using an
* associative accumulation function, and returns an Optional object
* describing the reduced value.
*
* For example, the following code accumulates names of all persons into
* a String:
*/

Optional<String> optional = personList.stream().map(p -> p.getName())
.reduce((name1, name2) -> name1 + ", " + name2);

if (optional.isPresent())
{
String names = optional.get();
System.out.println(names);
}

}

}
Output
Alice, Bob, Carol, David, Eric

StreamReduceDemo2.java
import java.util.Arrays;

public class StreamReduceDemo2
{
public static void main(String[] args)
{
int[] numberArray = { 2, 3, 5};

/*
* Version #2: T reduce(T identity, BinaryOperator<T> accumulator) -
* This method is similar to the version #1, but it returns the reduced
* value of the specified type T. The identity value must be an identity
* value for the accumulator function, which means it does not affect
* the result of accumulation.
*
* The following code calculates sum of numbers in a stream:
*/

int sum = Arrays.stream(numberArray).reduce(0, (x, y) -> (x + y));

System.out.println("sum = " + sum);

}

}
Output
sum = 10

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

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

Bitbucket Link:
https://bitbucket.org/ramram43210/java/src/a9fa8aa6476993bce8a79f4d0e8f1799d1d35a7f/BasicJava/StreamDemo_reduce_accumulate/?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 accumulate the names of all persons using reduce method of Java 8 Stream | Streams in Java 8

    Topic: What’s New in IntelliJ IDEA 2017.3 EAP for JAVA EE Developers Previous Topic   Next Topic Topic: End of support for Visual SourceSafe and ClearCase

    Sponsored Links



    Google
      Web Artima.com   

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