我目前正在處理一個類,其中包括一個方法「添加」,將我的特定對象添加到我的ArrayList,這是一個字段在我的構造函數中實例化。目的是顯然將對象添加到ArrayList中,但同時它將對象添加到ArrayList不斷排序的位置。這些對象將通過一個名爲getCompany()的類中的訪問器方法接收到的字符串進行比較。我無法理解如何去做這件事。我的實驗代碼如下:排序ArrayList的對象正在被放入它們
public class WeeklyOrders {
private List<DistributionOrder> orders;
public WeeklyOrders(){
orders= new ArrayList<DistributionOrder>();
}
public void add(DistributionOrder dOrder){
int maxPos=0;
int minDiff=0;
for(int i=0;i<orders.size();i++){
String comp=orders.get(i).getCompany();
int diff=comp.compareTo(dOrder.getCompany());
if(diff<minDiff){
minDiff=diff;
maxPos=i;
}
}
orders.add(maxPos,dOrder);
}
public String toString(){
String s="";
for(int i=0;i<orders.size();i++){
s=s+orders.get(i).getCompany()+"\t";
}
return s;
}
}
...........? –
如果列表總是被排序,我不認爲你需要這個'if(diff
我只是在最後添加並且執行'orders.sort(Comparator.comparing(DistributionOrder :: getCompany) )'或相應的'Collections.sort()'調用。不要重新發明輪子。 –