1. Example from the previous section
Stage 1: Create database mapping object (DO) > User.java
Stage 2: Front-end Data Transfer Object (DTO) > UserDTO.java
1. Requirement: Filter out strings whose length is greater than 5
1. map function
-
Map each element T in the stream to R (similar to type conversion)
-
Scenario: Convert objects , such as DO objects to DTO objects (front-end data transfer objects)
1. Example from the previous section
- Similar to traversing a collection, processing each object in the collection
public static void main(String[] args) {
List<String> list = Arrays.asList("Spring Boot", "Python", "微服务", "高并发", "Redis", "MongoDB");
List<String> resultList = list.stream().map(obj -> "您正在学习:" + obj).collect(Collectors.toList());
System.out.println(resultList);
}
2. Convert DO to DTO object
-
Prevent database fields from leaking
Stage 1: Create database mapping object (DO) > User.java
@NoArgsConstructor
@AllArgsConstructor
@Data
public class User {
private String id;
private String name;
private String pwd;
}
Stage 2: Front-end Data Transfer Object ( DTO ) > UserDTO.java
@NoArgsConstructor
@AllArgsConstructor
@Data
public class UserDTO {
private String userId;
private String userName;
}
Stage 3: DO to DTO
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class MapDemo {
public static void main(String[] args) {
List<User> list = Arrays.asList(new User(1, "陆小凤", "123456"),
new User(2, "西门吹雪", "123456"),
new User(3, "叶孤城", "123456"));
List<UserDTO> newList = list.stream()
.map(obj -> new UserDTO(obj.getId(), obj.getName()))
.collect(Collectors.toList());
System.out.println(newList);
}
}
Stage 4: Execution results
2. flter function
-
Used to filter out elements by set conditions
-
Scenario: Used to filter out elements that meet conditions
1. Requirement: Filter out strings whose length is greater than 5
public static void main(String[] args) {
List<String> list = Arrays.asList("Spring Boot", "Python", "微服务", "高并发", "Redis", "MongoDB");
List<String> resultList = list.stream()
.filter(obj -> obj.length() > 5).collect(Collectors.toList());
System.out.println(resultList);
}
Results of the