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 클래스
name
과price
라는 멤버 변수를 가져 커피의 이름과 가격을 저장합니다.- getter와 setter 메서드를 통해 객체의 멤버 변수에 접근할 수 있게 해줍니다.
- 생성자는 이름과 가격을 초기화하는 역할을 합니다.
MyMap 클래스
menuList
에서 여러 개의CoffeeDTO
객체를Arrays.asList
를 통해 생성합니다.- Stream API를 사용해
menuList
에서 각 커피 객체의 이름을 추출하고,Collectors.toList()
메서드를 통해 String 타입의 리스트로 변환합니다. - 마지막으로 변환된 리스트를 출력합니다.
예제 실행 결과
이 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다:
[아메리카노, 카페라떼, 바닐라라떼]
마무리하며
오늘은 DTO 리스트에서 String 리스트로 변환하는 간단한 방법을 다뤄보았습니다. Java의 Stream API를 활용하면 데이터 처리 과정이 한층 더 간단해지죠. 이와 같은 접근 방식은 여러분이 구현하고자 하는 다양한 프로젝트에 유용하게 쓰일 수 있습니다.
다음번엔 더 흥미로운 주제로 찾아올게요. 프로그래밍 관련 질문이나 더 알고 싶은 것이 있다면 댓글 남겨주세요! 공유하고 싶은 정보가 있다면 친구와 함께 나누는 것도 잊지 마세요. 그럼 다음 포스트에서 만나요!
'개발' 카테고리의 다른 글
비주얼 스튜디오 코드 필수 확장 기능 소개 (0) | 2024.11.14 |
---|---|
Spring Boot에서 Swagger 연동하기: 에러 해결과 설정 가이드 (0) | 2024.11.13 |
자바 Stream API로 리스트 중복값 찾기: 간편한 데이터 처리 방법 (2) | 2024.11.13 |
AWS에서 SSL 인증서 생성과 로드밸런서 설정하는 방법 안내 (0) | 2024.11.13 |
AWS EC2에서 시스템 시간을 한국 표준시로 변경하는 방법 안내 (0) | 2024.11.13 |