반응형
[TravelCustomer 클래스]
: 고객의 정보를 담을 클래스
public class TravelCustomer {
//필드선언
private String name; //고객이름
private int age; //나이
private int price; //가격
//이름, 나이, 가격을 입력받는 생성자를 정의
public TravelCustomer(String name, int age, int price) {
this.name = name;
this.age = age;
this.price = price;
}
//get(), set() 메서드 정의
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
//고객의 이름, 나이, 가격을 출력하기 위한 메소드
@Override
public String toString() {
// TODO Auto-generated method stub
return name+","+age+","+price;
}
}
[메인클래스]
public class TravelTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
//고객생성
TravelCustomer customerA = new TravelCustomer("라이언", 20, 1000);
TravelCustomer customerB = new TravelCustomer("어피치", 25, 2000);
TravelCustomer customerC = new TravelCustomer("무지", 10, 500);
//ArrayList를 생성하여추가
List<TravelCustomer> customerList = new ArrayList<>();
customerList.add(customerA);
customerList.add(customerB);
customerList.add(customerC);
//고객 이름 출력
customerList.stream().map(c -> c.getName()).forEach(s -> System.out.println(s));
System.out.println();//개행
//여행의 총비용 계산
int sum = customerList.stream().mapToInt(c -> c.getPrice()).sum();
System.out.println(sum);
System.out.println();//개행
//20세 이상인 고객 이름을 출력
customerList.stream().filter(c -> c.getAge() >= 20).map(
c -> c.getName()).sorted().forEach(s -> System.out.println(s));
//나이가 20세 이상인 사람만 filter로 추출, map으로 추출된 사람의 이름을 반환,
//오름차순으로 정렬 sorted(), forEach로 한명씩 출력
}
}
[실행결과]
반응형
'Language > JAVA' 카테고리의 다른 글
[JAVA]예외 처리 미루기(throws 사용) (0) | 2020.07.02 |
---|---|
[JAVA] 예외처리(try ~ catch) (0) | 2020.07.02 |
[JAVA] 스트림(Stream) 연산 (0) | 2020.07.02 |
[JAVA]Class 클래스 (0) | 2020.07.01 |
[JAVA] 람다식(lambda expression) (0) | 2020.07.01 |
댓글