Skip to main content

Java 8 Stream Map() Method With Examples | Programming Blog

Java 8 Stream API Map Method with Examples
Map() Method in Java 8 Stream Api

What is Map() Function in Java 8 | Java 8 Map method

In java 8, map is also very useful method like filter(), collect() and reduce() method.

What is map() function in Java?

Returns a stream consisting of the results of applying the given function to the element of this function. map() function is in java.util.stream package.

In simple word, map() method is used to transform one object into another by applying a function.

So map() method takes a function as an argument.

Stream.map(Function arg)

map() function provides intermediate operation. Intermediate operation are lazy operation. it does not apply until you apply terminal operations like, forEach() or collect() methods. map() function invoked on a stream instance and after finish their processing, they give stream instance as output.

Before java 8, if we want to convert List of String into upperCase or lowerCase or String of list to int then we have to write for loop but using map() function we can easily get uppercase or lowercase output from String.

So lets see simple example of that first. 

Example 1 :- Convert list of string into UpperCase and LoweCase using map function

public class MapMethod {

    public static void main(String[] args) {
       
        List<String> list = Arrays.asList("Java", "Python", "JavaScript", "Html", "Css");
       
        // Convert list of String in uppercase using map and 
        // store into list using collect(terminal operation)
        List<String> upperCase = list.stream()
            .map(language -> language.toUpperCase())
            .collect(Collectors.toList());
           
        System.out.println(upperCase);
       
        // Convert list ofString in lowercase using map and
        // print in each line using forEach.
        list.stream()
            .map(language -> language.toLowerCase())
            .forEach(System.out::println);
       
    }

}

Output :-
[JAVA, PYTHON, JAVASCRIPT, HTML, CSS]
java
python
javascript
html
css

In above example first we done upperCase all list of string using map and store into List using collect() method. In second code script we done lowerCase on List of string using map() and print all string into new line using forEach() method. Here, collect() and forEach() method is terminal operation as we seen and map is intermediate operation.

So you can see how easily we can done kind of operation using map() function.

Example 2 :- Convert string of list to numbers (in integer)

public class MapMethod {

    public static void main(String[] args) {
       
        // Convert list of String to Integer
        List<String> list = Arrays.asList("1", "2", "3", "4", "5","6");
       
        List<Integer> numbers = list.stream()
                .map(string -> Integer.valueOf(string))
                .collect(Collectors.toList());
       
        System.out.println(numbers);

    }

}

Output :-
[1, 2, 3, 4, 5, 6]

We can also done another things like get even or odd number in above function. so lets see example of that.

Example 3 :- Convert list of string into integer and filter even number (Stream map + filter)

public class MapMethod {

    public static void main(String[] args) {
       
        // Convert list of String to Integer
        List<String> list = Arrays.asList("1", "2", "3", "4", "5","6");
       
        List<Integer> numbers = list.stream()
                .map(string -> Integer.valueOf(string))
                .filter(number -> number % 2 == 0)
                .collect(Collectors.toList());
       
        System.out.println(numbers);

    }

}

Output :
[2, 4, 6]

In above example, we use map() function with filter() function that is also part of java 8 Stream API.

Happy Reading. Happy Coding.

If you want to learn about another Java 8 methods then read following article :-


Comments

Popular posts from this blog

Plus Minus HackerRank Solution in Java | Programming Blog

Java Solution for HackerRank Plus Minus Problem Given an array of integers, calculate the ratios of its elements that are positive , negative , and zero . Print the decimal value of each fraction on a new line with 6 places after the decimal. Example 1 : array = [1, 1, 0, -1, -1] There are N = 5 elements, two positive, two negative and one zero. Their ratios are 2/5 = 0.400000, 2/5 = 0.400000 and 1/5 = 0.200000. Results are printed as:  0.400000 0.400000 0.200000 proportion of positive values proportion of negative values proportion of zeros Example 2 : array = [-4, 3, -9, 0, 4, 1]  There are 3 positive numbers, 2 negative numbers, and 1 zero in array. Following is answer : 3/6 = 0.500000 2/6 = 0.333333 1/6 = 0.166667 Lets see solution Solution 1 import java.io.*; import java.math.*; import java.security.*; import java.text.*; import java.util.*; import java.util.concurrent.*; import java.util.function.*; import java.util.regex.*; import java.util.stream.*; import static jav...

Flipping the Matrix HackerRank Solution in Java with Explanation

Java Solution for Flipping the Matrix | Find Highest Sum of Upper-Left Quadrant of Matrix Problem Description : Sean invented a game involving a 2n * 2n matrix where each cell of the matrix contains an integer. He can reverse any of its rows or columns any number of times. The goal of the game is to maximize the sum of the elements in the n *n submatrix located in the upper-left quadrant of the matrix. Given the initial configurations for q matrices, help Sean reverse the rows and columns of each matrix in the best possible way so that the sum of the elements in the matrix's upper-left quadrant is maximal.  Input : matrix = [[1, 2], [3, 4]] Output : 4 Input : matrix = [[112, 42, 83, 119], [56, 125, 56, 49], [15, 78, 101, 43], [62, 98, 114, 108]] Output : 119 + 114 + 56 + 125 = 414 Full Problem Description : Flipping the Matrix Problem Description   Here we can find solution using following pattern, So simply we have to find Max of same number of box like (1,1,1,1). And ...