Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

Stream활용 예시 본문

Java/다양한 기능

Stream활용 예시

Seung__ 2021. 10. 29. 22:46

1. 문제!


  • 여행사에 패키지 상품이 있음.
  • 여행 비용
    • 15세 이상 : 100만원
    • 15세 미만 : 50마원
  • 고객 세 명이 패키지 여행 신청 하는 경우, 패키지 여행 비용 계산
  • 고객 정보
    • CustomerA
      • 이름 : A
      • 나이 : 40
      • 비용 : 100
    • CustomerB
      • 이름 : B
      • 나이 : 20
      • 비용 : 100
    • CustomerC
      • 이름 : C
      • 나이 : 10
      • 비용 : 50

 

 

2. test


class TravelCustomerTest {

    public static void main(String[] args) {

        TravelCustomer customerA = new TravelCustomer("A", 40, 100);
        TravelCustomer customerB = new TravelCustomer("B", 20, 100);
        TravelCustomer customerC = new TravelCustomer("C", 10, 50);

        List<TravelCustomer> customers = new ArrayList<>();

        customers.add(customerA);
        customers.add(customerB);
        customers.add(customerC);

        System.out.println("고객 명단 출력");
        customers.stream().map(c -> c.getName()).forEach(c -> System.out.println(c));
        System.out.println("============================");

        System.out.println("고객 비용 합계");
        //mapToint : int stream으로 반환
        int result = customers.stream().mapToInt(c -> c.getPrice()).sum();
        System.out.println("비용 합계 : " + result);
        System.out.println("============================");

        System.out.println("20세 이상 고객");
        customers.stream().filter(travelCustomer -> travelCustomer.getAge() >= 20).map(c -> c.getName()).sorted()
                            .forEach(System.out::println);
        System.out.println("============================");
    }


}
고객 명단 출력
A
B
C
============================
고객 비용 합계
비용 합계 : 250
============================
20세 이상 고객
A
B
============================

 

 

3. GitHub : 211029 Stream,Lambda example


 

GitHub - bsh6463/various_functions

Contribute to bsh6463/various_functions development by creating an account on GitHub.

github.com

 

'Java > 다양한 기능' 카테고리의 다른 글

예외 처리와 미루기  (0) 2021.10.30
예외 처리  (0) 2021.10.29
reduce()  (0) 2021.10.28
객체지향 프로그래밍 vs 람다식 구현  (0) 2021.10.27
Stream  (0) 2021.10.27
Comments