1. compareTo() 메서드를 오버라이딩 해준다. 최신순(내림차순)으로 정렬하기 위해 리턴 값에 -1을 곱해줬다.
public class CompletedOrder extends Order implements Comparable<CompletedOrder> {
String completiontime;
CompletedOrder(){
}
CompletedOrder(Order order){
super(order.orderNum, order.orderList, order.totalPrice, order.time, order.request);
this.completiontime = getTime();
}
@Override
public String toString() {
return "\n1. 대기번호 : " + this.orderNum + "\n2. 주문 상품 목록 : " + this.orderList +"\n3. 주문 총 가격 : " + this.totalPrice + "W\n4. 요청사항 : " + this.request + "\n5. 주문 일시 : " + this.time + "\n6. 완료 주문 일시 : " +this.completiontime+ "\n";
}
@Override
public int compareTo(CompletedOrder o) {
return this.completiontime.compareTo(o.completiontime) * -1; // 최신순 정렬
}
}
2. sort 메서드로 정렬해 준다. 이때 정렬 기준에 오버라이딩한 compareTo를 넣어준다.
public void printRecentOrder(){
System.out.println("[ 최근 완료된 주문 ]");
Collections.sort(completedOrders, CompletedOrder::compareTo); // 주문 완료 처리된 순서대로 정렬
int SIZE = completedOrders.size();
if(SIZE >= 3){
for (int i = 0; i <3; i++){
System.out.println(completedOrders.get(i));
}
} else {
for (CompletedOrder o : completedOrders){
System.out.println(o);
}
}
}
'TIL > WEEK4' 카테고리의 다른 글
팀 과제 키오스크 관리 프로젝트 (0) | 2023.06.07 |
---|