How to use the map() method in Java8 StreamAPI
Preface
In daily development work, we often encounter the problem of processing data in a List, such as obtaining a collection of attributes in an object from a collection of objects. What we thought before was to traverse each element and then take it out and put it into another collection, which is more cumbersome; after Java 8, Stream operations can be performed on collections, making the above processing more concise.
Overview
Stream There is a map() method in streaming processing. Let’s take a look at its definition first. This method is in the java.util.stream.Stream class
You can see that the map() method receives a functional interface parameter. The input parameter has a T and returns a Stream. This stream is R generic. There are mainly the following points to note:
The input parameter is an element in a stream;
The output parameter is a stream, and the stream is New element;
is represented by a diagram as follows. There are four circular patterns in the original stream. After calling the map() function, it becomes four five-pointed star patterns. Here The circular pattern and the five-pointed star pattern have a one-to-one correspondence, that is, how many elements there are in the original stream, how many elements there are still after calling the map() method, the only thing that changes is the element type in the stream.
Example
We first create an entity class Student.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
and then create a class to initialize data:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
Find the names of all students
1 2 3 4 5 |
|
The map() method is used here. The input parameter is Student, the output parameter is a stream with String as a generic type, and finally forEach is used. After printing, look at the result
and you can see that all the students’ names have just been printed out. What if you want to put these student names into a List?
Put the student names into the list
1 2 3 4 5 6 7 8 9 |
|
Similarly find all the classes and find out the scores of all students. You can compare it to the above and you can see the print There is duplicate data in the student names or classes. How to solve this problem? We know that the data is put into the List at the end. In order to solve the duplication problem, the data can be put into the Set and use the deduplication function of the Set:
1 2 3 4 |
|
The result will no longer be printed. If you are interested, you can try it yourself. try.
Set the Chinese score of the student named "Tang Lin" to 90
Now there is a need to set the Chinese score of the student named Tang Lin to90
, let’s see how to use the map() function?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Output result:
90 , this is correct. Looking at the original data, it has also been changed to
90. As mentioned above, the map() method generates a new stream, and the data in the original stream has also been modified, because the following line of code is in the original stream. The data in the reference type is modified on the basis of the elements in the element, resulting in the data in the original stream also being modified.
The above is the detailed content of How to use the map() method in Java8 StreamAPI. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Guide to Perfect Number in Java. Here we discuss the Definition, How to check Perfect number in Java?, examples with code implementation.

Guide to Weka in Java. Here we discuss the Introduction, how to use weka java, the type of platform, and advantages with examples.

Guide to Smith Number in Java. Here we discuss the Definition, How to check smith number in Java? example with code implementation.

In this article, we have kept the most asked Java Spring Interview Questions with their detailed answers. So that you can crack the interview.

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

Guide to TimeStamp to Date in Java. Here we also discuss the introduction and how to convert timestamp to date in java along with examples.

Capsules are three-dimensional geometric figures, composed of a cylinder and a hemisphere at both ends. The volume of the capsule can be calculated by adding the volume of the cylinder and the volume of the hemisphere at both ends. This tutorial will discuss how to calculate the volume of a given capsule in Java using different methods. Capsule volume formula The formula for capsule volume is as follows: Capsule volume = Cylindrical volume Volume Two hemisphere volume in, r: The radius of the hemisphere. h: The height of the cylinder (excluding the hemisphere). Example 1 enter Radius = 5 units Height = 10 units Output Volume = 1570.8 cubic units explain Calculate volume using formula: Volume = π × r2 × h (4

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.
