Ich habe diese ArrayList 'sortList' genannt. Ich füge Objekte hinzu. Die Objekte sind vom Typ 'MailItem'. Ich möchte meine ArrayList nach dem getPriorityLevel() des Objekts sortieren. Wie kann ich das machen?Wie werden Objekte, die sich in einem Arraylist befinden, auf der Grundlage ihrer Eigenschaften sortiert?
Weitere Informationen: getPriorityLevel() gibt einen String zurück.
Dies ist, was ich bisher getan habe:
Schnittstellepackage 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;
}}
Mögliches Duplikat von [Wie kann ich Zeichenfolgen in Java vergleichen?] (Http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) – Guy
* "Wie kann ich tun das, dh sortiere meine ArrayList nach dem getPriorityLevel() des Objekts (des Elements)? "* Durch Aufruf von' sort() 'mit einem benutzerdefinierten' Comparator'. – Andreas
Sie tun das * exakt gleiche Ding * in den 3 'if' Anweisungen in' addToList() ', also was ist der Sinn der' if' Anweisungen? – Andreas