How to Map Elements Using the Map Method in Java 8

  • google plus

In Brief...

Imagine you have a collection of temperature readings in Celsius that you need to convert to Fahrenheit. Prior to Java 8 you would be required to iterate through the collection and convert each temperature reading individually. In Java 8, the conversion of each temperature can be done in just one line of code. The key to achieving this goal is to use the map method of the Stream class. This method maps (i.e., translates) each element of a collection based on a given lambda or method reference. To learn how to map elements using the map method, follow these four steps.

Take our Introduction to Java Training course for free.

See the Course Outline and Register

Instructions

  1. Open your text editor and create the Java program that will demonstrate the use of the map method. Type in the following Java statements:
    import java.util.stream.*;
    import java.util.*;
    public class MapElementsWithmapMethod {
    	private static List temperaturesInCelsius=Arrays.asList(-5, 0, 17, 25, 38, 100);
    	public static void main (String args[]) {
    		System.out.println("Current temperature values in Celsius:");
    		temperaturesInCelsius.stream().forEach(System.out::println);
    		System.out.println("Converted temperature values in Fahrenheit:");
    		temperaturesInCelsius.stream().map(temp -> (9 * temp) / 5 + 32).collect(Collectors.toList()).forEach(System.out::println);
    	}
    }
    The stream will be created from the ArrayList that is defined on line 4. Note the Arrays.asList method is used to convert the array of integers to an ArrayList. The map method is passed to a lambda expression that converts the temperature from Celsius to Fahrenheit. The collect method collects the converted elements and applies the Collectors.toList to the elements, producing a new stream. The stream will be printed using the forEach method. I have highlighted the method chain containing the map method below:
    Java Source for Map Method
  2. Save your file as MapElementsWithmapMethod.java.
  3. Open a command prompt and navigate to the directory containing your new Java program. Then type in the command to compile the source and hit Enter.
    Compile Program with Map Method
  4. You are ready to test your Java program. Type in the command to run the Java runtime launcher and hit Enter. The output displays the original list of temperatures stored in Celsius followed by the list of temperatures as converted into Fahrenheit by the map method.
    Run Program with Map Method

Author: Stephen Withrow

Stephen has over 30 years' experience in training, development, and consulting in a variety of technology areas including Java, C, C++, XML, JavaScript, AJAX, Tomcat, JBoss, Oracle, and DB2. His background includes design and implementation of business solutions on client/server, Web, and enterprise platforms. Stephen is a published writer in both technical and non-technical endeavors. Stephen received an undergraduate degree in Computer Science and Physics from Florida State University.

Discuss