Java 8 examples - Streams map()

Simple Java example to convert a list of Strings to upper case.


import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class TestJava8 {

public static void main(String[] args) {

List alpha = Arrays.asList("a", "b", "c", "d");

//Before Java8
List alphaUpper = new ArrayList<>();
for (String s : alpha) {
alphaUpper.add(s.toUpperCase());
}

System.out.println(alpha); //[a, b, c, d]
System.out.println(alphaUpper); //[A, B, C, D]

// Java 8
List collect = alpha.stream().map(String::toUpperCase).collect(Collectors.toList());
System.out.println(collect); //[A, B, C, D]

// Extra, streams apply to any data type.
List num = Arrays.asList(1,2,3,4,5);
List collect1 = num.stream().map(n -> n * 2).collect(Collectors.toList());
System.out.println(collect1); //[2, 4, 6, 8, 10]

}

}

Get all the name values from a list of the Employee objects. Employee.java


import java.math.BigDecimal;

public class Employee {

private String name;
private int age;
private BigDecimal salary;
//...
}



import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class TestJava8 {

public static void main(String[] args) {

List employees = Arrays.asList(
new Employee("java8", 30, new BigDecimal(10000)),
new Employee("jack", 27, new BigDecimal(20000)),
new Employee("lawrence", 33, new BigDecimal(30000))
);

//Before Java 8
List result = new ArrayList<>();
for (Employee x : employees) {
result.add(x.getName());
}
System.out.println(result); //[java8, jack, lawrence]

//Java 8
List collect = employees.stream().map(x -> x.getName()).collect(Collectors.toList());
System.out.println(collect); //[java8, jack, lawrence]

}

}