-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathExpenseListing.java
36 lines (31 loc) · 1.21 KB
/
ExpenseListing.java
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
31
32
33
34
35
36
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ExpenseListing {
private ExpenseEntry expenseEntry;
public ExpenseListing(ExpenseEntry expenseEntry) {
this.expenseEntry = expenseEntry;
}
public void displayExpenses() {
for (Expense expense : expenseEntry.getExpenses()) {
System.out.println("Date: " + expense.getDate() + ", Category: " + expense.getCategory() + ", Amount: "
+ expense.getAmount());
}
}
public void sortExpensesByDate() {
Collections.sort(expenseEntry.getExpenses(), new Comparator<Expense>() {
@Override
public int compare(Expense e1, Expense e2) {
return e1.getDate().compareTo(e2.getDate());
}
});
}
public void filterExpensesByCategory(String category) {
for (Expense expense : expenseEntry.getExpenses()) {
if (expense.getCategory().equals(category)) {
System.out.println("Date: " + expense.getDate() + ", Category: " + expense.getCategory() + ", Amount: "
+ expense.getAmount());
}
}
}
}