[JDK 8-Collection Framework] 5.2 map and filter functions

1. map function

1. Example from the previous section

2. Convert DO to DTO object

Stage 1: Create database mapping object (DO) > User.java

Stage 2: Front-end Data Transfer Object (DTO) > UserDTO.java

Stage 3: DO to DTO

Stage 4: Execution results

2. flter function

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

Guess you like

Origin blog.csdn.net/ladymorgana/article/details/133027805