/home/wpollock1/public_html/AJava/StreamDemo.java
import java.util.*;
import java.util.stream.*;
/** StreamDemo is a trivial example of using Java 8 aggregation operations.
* Here, we process a list of Persons, displaying some information on some
* and averaging all of their ages at the end.
* Written 7/2014
* @Author Wayne Pollock, Tampa Florida USA
*/
public class StreamDemo {
public static void main ( String [] args ) {
List<Person> myList = new ArrayList<>();
myList.add( new Person( "Wayne", 56, 'M' ) );
myList.add( new Person( "Jane", 17, 'F' ) );
myList.add( new Person( "Hymie", 22, 'M' ) );
double average = myList.stream()
.map( e -> { if (e.getAge() >= 18 )
System.out.println( e.getName() );
return e;
} )
.mapToInt( Person::getAge )
.average().getAsDouble();
System.out.printf( "Average age: %4.2f%n", average );
}
}
/** Trivial class Person
*/
class Person {
private String name;
private int age;
private char gender;
public Person ( String name, int age, char gender ) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName () { return name; }
public void setName ( int age ) { this.name = name; }
public int getAge () { return age; }
public void setAge ( int age ) { this.age = age; }
public char getGender () { return gender; }
public void setGender ( char gender ) { this.gender = gender; }
public boolean isMale () { return gender == 'M'; }
public boolean isFemale () { return gender == 'F'; }
}