私は 'sortList'と呼ばれるこのArrayListを持っています。私はそれにオブジェクトを追加しています。オブジェクトは 'MailItem'タイプです。オブジェクトの(項目の)getPriorityLevel()に従ってArrayListをソートしたい。どうやってやるの?Arraylist内のオブジェクトをプロパティに基づいて並べ替えるにはどうすればいいですか?
追加情報:getPriorityLevel()は文字列を返します。
これは私が今までやったです:Javaで
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;
}}
[Javaで文字列を比較するにはどうすればいいですか?](http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) – Guy
*「どうすればいいですか?つまり、オブジェクトの(アイテムの)getPriorityLevel()に従って、ArrayListをソートしますか? "*カスタム' Comparator'を使って 'sort()'を呼び出すことによって、 – Andreas
あなたは 'addToList()'の3つの 'if'ステートメントで*まったく同じことをしていますので、' if'ステートメントのポイントは何ですか? – Andreas