/Users/johnr/Desktop/IA_14_-_Stage_P_Upload_all_2021-04-08/GUI - Alan/src/main/java/SortAndSearchExpense.java
  1 
  2 import java.util.ArrayList;
  3 
  4 /*
  5  * To change this license header, choose License Headers in Project Properties.
  6  * To change this template file, choose Tools | Templates
  7  * and open the template in the editor.
  8  */
  9 
 10 /**
 11  *
 12  * @author 20786
 13  */
 14 public class SortAndSearchExpense {
 15     
 16     private ArrayList<Expense> everything = new ArrayList<Expense>();
 17     
 18     public void listAllExpenses(ArrayList<Expense> expenses) {
 19         
 20         for (int i = 0; i < expenses.size() - 1; i++) {
 21             
 22             everything.set(i, expenses.get(i));
 23             
 24         }
 25         
 26     }
 27     
 28     // sorts alphabetically by trip
 29     public void selectionSortOfExpensesByTrip(ArrayList<Expense> expenses) {
 30         
 31         for (int i = 0; i < expenses.size() - 1; i++) {
 32             
 33             int minIndex = i;
 34             for (int j = i + 1; j < expenses.size(); j++) {
 35                 
 36                 if (expenses.get(j).getTripName().compareTo(expenses.get(minIndex).getTripName()) < 0) {
 37                     
 38                     minIndex = j;
 39                     
 40                 }
 41                 
 42             }
 43             
 44             if (minIndex != i) {
 45                 
 46                 Expense temp = expenses.get(i);
 47                 expenses.set(i, expenses.get(minIndex));
 48                 expenses.set(minIndex, temp);
 49                 
 50             }
 51             
 52         }
 53         
 54     }
 55     
 56     // sorts alphabetically by expense name
 57     public void selectionSortOfExpensesByName(ArrayList<Expense> expenses) {
 58         
 59         for (int i = 0; i < expenses.size() - 1; i++) {
 60             
 61             int minIndex = i;
 62             for (int j = i + 1; j < expenses.size(); j++) {
 63                 
 64                 if (expenses.get(j).getNameOfExpense().compareTo(expenses.get(minIndex).getNameOfExpense()) < 0) {
 65                     
 66                     minIndex = j;
 67                     
 68                 }
 69                 
 70             }
 71             
 72             if (minIndex != i) {
 73                 
 74                 Expense temp = expenses.get(i);
 75                 expenses.set(i, expenses.get(minIndex));
 76                 expenses.set(minIndex, temp);
 77                 
 78             }
 79             
 80         }
 81         
 82     }
 83     
 84     // sorts alphabetically by type of expense
 85     public void selectionSortOfExpensesByType(ArrayList<Expense> expenses) {
 86         
 87         for (int i = 0; i < expenses.size() - 1; i++) {
 88             
 89             int minIndex = i;
 90             for (int j = i + 1; j < expenses.size(); j++) {
 91                 
 92                 if (expenses.get(j).getTypeOfExpense().compareTo(expenses.get(minIndex).getTypeOfExpense()) < 0) {
 93                     
 94                     minIndex = j;
 95                     
 96                 }
 97                 
 98             }
 99             
100             if (minIndex != i) {
101                 
102                 Expense temp = expenses.get(i);
103                 expenses.set(i, expenses.get(minIndex));
104                 expenses.set(minIndex, temp);
105                 
106             }
107             
108         }
109         
110     }
111     
112     // sorts expenses by cost from smallest to largest
113     public void selectionSortOfExpensesByCost(ArrayList<Expense> expenses) {
114         
115         for (int i = 0; i < expenses.size() - 1; i++) {
116             
117             int minIndex = i;
118             for (int j = i + 1; j < expenses.size(); j++) {
119                 
120                 if (expenses.get(j).getCostOfExpense() < (expenses.get(minIndex).getCostOfExpense())) {
121                     
122                     minIndex = j;
123                     
124                 }
125                 
126             }
127             
128             if (minIndex != i) {
129                 
130                 Expense temp = expenses.get(i);
131                 expenses.set(i, expenses.get(minIndex));
132                 expenses.set(minIndex, temp);
133                 
134             }
135             
136         }
137         
138     }
139     
140 }
141