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

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

Queen's Attack II HackerRank Solution in Java with Explanation

Queen's Attack II Problem's Solution in Java (Chessboard Problem)   Problem Description : You will be given a square chess board with one queen and a number of obstacles placed on it. Determine how many squares the queen can attack.  A queen is standing on an n * n chessboard. The chess board's rows are numbered from 1 to n, going from bottom to top. Its columns are numbered from 1 to n, going from left to right. Each square is referenced by a tuple, (r, c), describing the row r and column c, where the square is located. The queen is standing at position (r_q, c_q). In a single move, queen can attack any square in any of the eight directions The queen can move: Horizontally (left, right) Vertically (up, down) Diagonally (four directions: up-left, up-right, down-left, down-right) The queen can move any number of squares in any of these directions, but it cannot move through obstacles. Input Format : n : The size of the chessboard ( n x n ). k : The number of obstacles...