자바 스트림 사용법

장원재·2024년 3월 27일
0

java

목록 보기
6/19
List<OrderItem> orderItems = order.getOrderItems();
orderItems.stream().forEach(o -> o.getItem().getName());
  • forEach 사용해서 객체 하나씩 꺼내기
List<Order> orders = orderRepository.findAllWithMemberDelivery();
List<SimpleOrderDto> result = orders.stream()
        .map(o -> new SimpleOrderDto(o))
        .collect(Collectors.toList());
        
@Data
static class SimpleOrderDto {

     private Long orderId;
     private String name;
     private LocalDateTime orderDate;
     private OrderStatus orderStatus;
     private Address address;

     public SimpleOrderDto(Order order) {
         orderId = order.getId();
         name = order.getMember().getName();
         orderDate = order.getOrderDate();
         orderStatus = order.getStatus();
         address = order.getDelivery().getAddress();
     }
 }
        
  • stream 에서 map 을 사용하여 타입을 변경시킬 수 있다.
  • 위의 예제에서는 Order 객체를 SimpleOrderDto 객체로 변환해 주기 위해서 map 을 사용했다.
  • 그리고 collect 를 사용해서 변환된 객체들을 하나의 리스트로 모아 준다.
  • 참고로 map(o -> new SimpleOrderDto(o))map(SimpleOrderDto::new) 와 같은 의미이다.
profile
데이터 분석에 관심있는 백앤드 개발자 지망생입니다

0개의 댓글

관련 채용 정보