JAVA 웹 개발 패키지 - 패스트캠퍼스/Chapter6
예제) 스트림을 활용하여 패키지 여행 비용 계산하기
giggs
2022. 1. 18. 13:56
스트림을 활용하여 패키지여행 비용 계산하기
문제 정의
여행사에 패키지 여행 상품이 있습니다. 여행 비용은 15세 이상은 100만원, 그 미만은 50만원 입니다.
고객 세 명이 패키지 여행을 떠난다고 했을 때 비용 계산과 고객 명단 검색등에 대한 연산을 스트림을 활용하여 구현해 봅니다.
고객에 대한 클래스를 만들고 ArrayList로 고객을 관리 합니다.
고객 정보는 다음과 같습니다.
CustomerLee
이름 : 이순신
나이 : 40
비용 : 100
CustomerKim
이름 : 김유신
나이 : 20
비용 : 100
CustomerHong
이름 : 홍길동
나이 :13
비용 : 50
스트림을 활용한 연산 수행
- 고객의 명단을 출력합니다.
- 여행의 총 비용을 계산합니다.
- 고객 중 20세 이상인 사람의 이름을 정렬하여 출력합니다.
고객 클래스 생성

고객 3명 생성 - 관리할 리스트 생성 - 리스트에 추가

조건 1,2,3
1. 고객의 명단을 출력합니다
2. 여행의 총 비용을 계산합니다.

3. 고객 중 20세 이상인 사람의 이름을 정렬하여 출력합니다.

review
람다식을 사용한 스트림을 어느 상황에 사용하는지 알기 위한 실습 예제였다.
조건 1번과 2번에서도 와 간단히 표현되는 구나라고 느꼈는데
조건 3번에서 - 20세이상 / 이름 / 정렬 - 3가지 조건을 스트림으로 표현하는데 희열? 이 느껴졌다.
한 줄로 코드 돼서 출력되는 결과물을 자바 프로그래밍으로 하려면..
고객 중 20세이상을 구하고, toString 중에 이름만 출력되게 만들고, 그것을 또 정렬하는 메서드가 필요한..
어우.. 가독성이 떨어지더라도
오히려 조건이 여러개일 때 스트림을 사용하는 것이 더 효과적일 것 같다는 생각이 들었다.