스트림을 활용하여 패키지여행 비용 계산하기
문제 정의
여행사에 패키지 여행 상품이 있습니다. 여행 비용은 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 중에 이름만 출력되게 만들고, 그것을 또 정렬하는 메서드가 필요한..
어우.. 가독성이 떨어지더라도
오히려 조건이 여러개일 때 스트림을 사용하는 것이 더 효과적일 것 같다는 생각이 들었다.
'JAVA 웹 개발 패키지 - 패스트캠퍼스 > Chapter6' 카테고리의 다른 글
사용자 정의 예외 클래스, 로그 남기기 (0) | 2022.01.22 |
---|---|
예외 처리는 왜 해야 하나? - 예외처리, 예외클래스, 예외처리미루기 (0) | 2022.01.19 |
스트림(Stream) , reduce() 연산 (0) | 2022.01.18 |
람다식(Lambda expression) (0) | 2022.01.17 |
내부 클래스의 정의와 유형 (0) | 2022.01.16 |