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
Post a Comment