728x90
반응형
package chap13;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/*
1. Person2 클래스 구현하기
멤버 변수 : 이름, 나이
생성자 : 구동 클래스에 맞도록
멤버메서드 : 출력 결과에 맞도록 toString 메서드 오버라이딩 하기
2. 구동 클래스 완성하기 다음 결과에 맞도록 구동 클래스를 완성하기.
단 Comparator 인터페이스는 FunctionalInterface 이므로 람다식으로 처리함.
[결과]
이름순:[김삿갓:30, 김자바:25, 박자바:20, 이몽룡:15, 홍길동:10]
나이순:[홍길동:10, 이몽룡:15, 박자바:20, 김자바:25, 김삿갓:30]
이름 역순:[홍길동:10, 이몽룡:15, 박자바:20, 김자바:25, 김삿갓:30]
나이 역순:[김삿갓:30, 김자바:25, 박자바:20, 이몽룡:15, 홍길동:10]
*/
class Person2 {
String name;
int age;
Person2(String name, int age) {
this.name = name;
this.age = age;
}
public String toString() {
return name + ":" + age;
}
}
public class Test0325_4 {
public static void main(String[] args) {
List<Person2> list = Arrays.asList
(new Person2("홍길동", 10), new Person2("김삿갓", 30),
new Person2("이몽룡", 15), new Person2("김자바", 25),
new Person2("박자바", 20)) ;
System.out.print("이름순:");
Collections.sort(list,(p1, p2) -> {
return p1.name.compareTo(p2.name);
});
System.out.println(list);
System.out.print("나이순:");
Collections.sort(list,(p1, p2) -> {
return p1.age - p2.age;
});
System.out.println(list);
System.out.print("이름역순:");
Collections.sort(list,(p1, p2) -> {
return p2.name.compareTo(p1.name);
});
System.out.println(list);
System.out.print("나이역순:");
Collections.sort(list,(p1, p2) -> {
return p2.age - p1.age;
});
System.out.println(list);
}
}
728x90
반응형