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

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 ...

Sales by Match HackerRank Solution | Java Solution

HackerRank Sales by Match problem solution in Java   Problem Description : Alex works at a clothing store. There is a large pile of socks that must be paired by color for sale. Given an array of integers representing the color of each sock, determine how many pairs of socks with matching colors there are. For example, there are n=7 socks with colors socks = [1,2,1,2,1,3,2]. There is one pair of color 1 and one of color 2 . There are three odd socks left, one of each color. The number of pairs is 2 .   Example 1 : Input : n = 6 arr = [1, 2, 3, 4, 5, 6] Output : 0 Explanation : We have 6 socks with all different colors, So print 0. Example 2 : Input : n = 10 arr = [1, 2, 3, 4, 1, 4, 2, 7, 9, 9] Output : 4 Explanation : We have 10 socks. There is pair of color 1, 2, 4 and 9, So print 4. This problem easily solved by HashMap . Store all pair of socks one by one in Map and check if any pair is present in Map or not. If pair is present then increment ans variable by 1 ...