JAVA 웹 개발 패키지 - 패스트캠퍼스/Chapter6

예제) 스트림을 활용하여 패키지 여행 비용 계산하기

giggs 2022. 1. 18. 13:56

스트림을 활용하여 패키지여행 비용 계산하기

 

 

문제 정의

여행사에 패키지 여행 상품이 있습니다. 여행 비용은 15세 이상은 100만원, 그 미만은 50만원 입니다. 
고객 세 명이 패키지 여행을 떠난다고 했을 때 비용 계산과 고객 명단 검색등에 대한 연산을 스트림을 활용하여 구현해 봅니다.
고객에 대한 클래스를 만들고 ArrayList로 고객을 관리 합니다. 

고객 정보는 다음과 같습니다.

CustomerLee 
이름 : 이순신
나이 : 40
비용 : 100

CustomerKim
이름 : 김유신
나이 : 20 
비용 : 100

CustomerHong
이름 : 홍길동
나이 :13
비용 : 50

 

스트림을 활용한 연산 수행

  1. 고객의 명단을 출력합니다.
  2. 여행의 총 비용을 계산합니다.
  3. 고객 중 20세 이상인 사람의 이름을 정렬하여 출력합니다.

 

 


고객 클래스 생성


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

 


조건 1,2,3

 

1. 고객의 명단을 출력합니다

2. 여행의 총 비용을 계산합니다.


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

 


 

review

람다식을 사용한 스트림을 어느 상황에 사용하는지 알기 위한 실습 예제였다.
조건 1번과 2번에서도 와 간단히 표현되는 구나라고 느꼈는데
조건 3번에서 - 20세이상 / 이름 / 정렬 - 3가지 조건을 스트림으로 표현하는데 희열? 이 느껴졌다.

한 줄로 코드 돼서 출력되는 결과물을 자바 프로그래밍으로 하려면..
고객 중 20세이상을 구하고, toString 중에 이름만 출력되게 만들고, 그것을 또 정렬하는 메서드가 필요한..
어우.. 가독성이 떨어지더라도
오히려 조건이 여러개일 때 스트림을 사용하는 것이 더 효과적일 것 같다는 생각이 들었다.