본문 바로가기
개발

Java Stream으로 DTO 리스트를 String 리스트로 쉽게 변환하는 방법

by 닉네임 입니다 2024. 11. 13.
728x90

Java Stream 활용: DTO 리스트를 String 리스트로 변환하기

안녕하세요, 프로그래밍을 즐기는 여러분! 오늘은 Java의 Stream API를 활용하여 DTO 객체로 이루어진 리스트를 String 타입의 리스트로 변환하는 방법을 알아보겠습니다. 이 방법은 특히 다양한 데이터 처리 작업에서 유용하게 쓰일 수 있는데요, 그럼 자, 시작해볼까요?

들어가며

현재의 데이터 중심 사회에서 효율적인 데이터 처리 방법을 찾는 것은 매우 중요합니다. Java의 Stream API는 그런 요구를 충족시켜주는 강력한 도구입니다. 이 글에서는 커피 정보를 담고 있는 CoffeeDTO 객체 리스트를 String 리스트로 변환하는 과정을 설명하겠습니다. 예제를 통해 여러분도 간단하게 이 과정을 구현할 수 있을 것입니다.

코드 작성하기

먼저, CoffeeDTO 클래스를 정의하여 커피의 이름과 가격을 담는 간단한 객체를 만들겠습니다. 그 후, 이 객체들을 List로 만들어 Stream을 통해 이름만 추출하여 새로운 리스트를 생성하는 코드를 작성해 보겠습니다.

1. CoffeeDTO 클래스 정의

package com.java.dto;

public class CoffeeDTO {
    private String name;
    private int price;
    
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    public CoffeeDTO(String name, int price) {
        this.name = name;
        this.price = price;
    }
}

2. 리스트를 String으로 변환하는 MyMap 클래스

package com.java.stream;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import com.java.dto.CoffeeDTO;

public class MyMap {
    public static void listToString() {
        List<CoffeeDTO> menuList = Arrays.asList(
            new CoffeeDTO("아메리카노", 5000),
            new CoffeeDTO("카페라떼", 6000),
            new CoffeeDTO("바닐라라떼", 6500)                
        );
        
        List<String> result = menuList.stream()
                                       .map(CoffeeDTO::getName)
                                       .collect(Collectors.toList());
        
        System.out.println(result);
    }
    
    public static void main(String[] args) {
        listToString();
    } 
}

코드 설명하기

이제 각각의 코드에 대해 자세히 설명해드릴게요.

CoffeeDTO 클래스

  • nameprice라는 멤버 변수를 가져 커피의 이름과 가격을 저장합니다.
  • getter와 setter 메서드를 통해 객체의 멤버 변수에 접근할 수 있게 해줍니다.
  • 생성자는 이름과 가격을 초기화하는 역할을 합니다.

MyMap 클래스

  • menuList에서 여러 개의 CoffeeDTO 객체를 Arrays.asList를 통해 생성합니다.
  • Stream API를 사용해 menuList에서 각 커피 객체의 이름을 추출하고, Collectors.toList() 메서드를 통해 String 타입의 리스트로 변환합니다.
  • 마지막으로 변환된 리스트를 출력합니다.

예제 실행 결과

이 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다:

[아메리카노, 카페라떼, 바닐라라떼]

마무리하며

오늘은 DTO 리스트에서 String 리스트로 변환하는 간단한 방법을 다뤄보았습니다. Java의 Stream API를 활용하면 데이터 처리 과정이 한층 더 간단해지죠. 이와 같은 접근 방식은 여러분이 구현하고자 하는 다양한 프로젝트에 유용하게 쓰일 수 있습니다.

다음번엔 더 흥미로운 주제로 찾아올게요. 프로그래밍 관련 질문이나 더 알고 싶은 것이 있다면 댓글 남겨주세요! 공유하고 싶은 정보가 있다면 친구와 함께 나누는 것도 잊지 마세요. 그럼 다음 포스트에서 만나요!

728x90