I have this ArrayList called 'sortList'. I'm adding objects to it. The objects are of type 'MailItem'. I want to sort my ArrayList according to the object's (item's) getPriorityLevel(). How can I do that?
Additional information: getPriorityLevel() returns a String.
This is what I've done till now:
package strategies;
import java.util.ArrayList;
import automail.IMailSorter;
import automail.MailItem;
import automail.StorageTube;
public class MailSorter implements IMailSorter{
MailItem item;
private ArrayList<MailItem> sortList =new ArrayList<MailItem>();
public void addToList(MailItem item)
{
if (item.getPriorityLevel()=="High")
{
MailItem highPriorityItem= new MailItem(item.getDestFloor(), item.getSize(), item.getPriorityLevel(), item.getArrivalTime() );
sortList.add(highPriorityItem);
}
if (item.getPriorityLevel()=="Medium")
{
MailItem mediumPriorityItem=new MailItem(item.getDestFloor(), item.getSize(), item.getPriorityLevel(), item.getArrivalTime() );
sortList.add(mediumPriorityItem);
}
if (item.getPriorityLevel()=="Low")
{
MailItem lowPriorityItem=new MailItem(item.getDestFloor(), item.getSize(), item.getPriorityLevel(), item.getArrivalTime() );
sortList.add(lowPriorityItem);
}
}
@Override
public boolean fillStorageTube(StorageTube tube) {
// TODO Auto-generated method stub
return false;
}}