개발/부트캠프

본캠프 : 향상된 for문, stream 사용법

EJ EJ 2025. 3. 8. 18:00

향상된 for문과 stream은 같은 기능이다. 전체 조회 코드를 아래와 같이 두 가지로 작성할 수 있다.

 

(1) 멤버 전체 조회

// 멤버 전체 조회
@Transactional(readOnly = true)
public List<MemberFindResponseDto> findAll() {
    List<Member> members = memberRepository.findAll();

    List<MemberFindResponseDto> dtos = new ArrayList<>();
    for (Member member : members) {
        dtos.add(new MemberFindResponseDto(member.getName(), member.getEmail()));
    }

    return dtos;
}
// 멤버 전체 조회
@Transactional(readOnly = true)
public List<MemberFindResponseDto> findAll() {
    List<Member> members = memberRepository.findAll();
    
    return members.stream().map(member -> new MemberFindResponseDto(member.getName(), member.getEmail())).toList();
}

 

(2) 일정 전체 조회

// 일정 전체 조회
@Transactional(readOnly = true)
public List<TodoFindResponseDto> findAll() {
    List<Todo> todos = todoRepository.findAll();

    List<TodoFindResponseDto> dtos = new ArrayList<>();
    for (Todo todo : todos) {
        dtos.add(new TodoFindResponseDto(todo.getContent()));
    }
    
    return dtos;
}
// 일정 전체 조회
@Transactional(readOnly = true)
public List<TodoFindResponseDto> findAll() {
    List<Todo> todos = todoRepository.findAll();

    return todos.stream().map(todo -> new TodoFindResponseDto(todo.getContent())).toList();
}