공부하기

3일차 본문

Springboot3

3일차

칠순이 2024. 10. 27. 05:28
반응형

public ResponseEntity<List<ArticleResponse>> findAllArticles() {
    List<Article> articles = blogService.findAll();
    List<ArticleResponse> responses = articles.stream().map(ArticleResponse::new).toList();
    return ResponseEntity.ok().body(responses);
}

1. articles.stream()

  • stream() 메서드는 articles 컬렉션을 스트림으로 변환합니다. 스트림은 데이터 요소의 연속적인 흐름으로, 이를 통해 데이터 변환, 필터링, 수집 등의 작업을 선언적으로 처리할 수 있습니다.

2. .map(ArticleResponse::new)

  • map() 메서드는 스트림의 각 요소를 특정 방식으로 변환하는 중간 연산입니다.
  • 여기서 ArticleResponse::new는 메서드 참조로, 각 Article 객체를 ArticleResponse 생성자를 통해 변환합니다.
  • 즉, new ArticleResponse(article)을 각 Article에 대해 수행하여 ArticleResponse 객체를 생성합니다.

3. .toList()

  • toList() 메서드는 종료 연산으로, 스트림의 모든 변환된 요소들을 리스트로 수집합니다.
  • Java 16 이전에는 collect(Collectors.toList())을 사용해야 했으나, Java 16부터는 스트림의 결과를 수집하기 위해 간단히 toList() 메서드를 사용할 수 있습니다.
반응형
Comments