【发布时间】:2016-12-03 21:59:59
【问题描述】:
这是对数组列表进行排序的调度程序类。我创建了一个自定义 compareTo 方法,它返回一个 int 值 1、-1 或 0。
private ArrayList<Event> events = new ArrayList<Event>();
public Scheduler(ArrayList<Event> events){
for (int i=0; i<events.size(); i++)
{
this.events.add(events.get(i));
}
}
public ArrayList<Event> getSchedule(){
int i;
int j;
int N = events.size();
for (i = 0; i <=(N-1); i++)
{
for(j = 1; j <= N;j++)
{
if(events.get(i).getEndTime().compareTo(events.get(j).getEndTime()) > 0){
Collections.swap(events, i, j);
}
}
}
return events;
}
我稍后在我的 UI 类中调用它
Scheduler s = new Scheduler(events);
System.out.println("Schedule:");
for(int i = 0; i<s.getSchedule().size(); i++){
System.out.println(s.getSchedule().get(i));
}
它给了我一个 IndexOutofBoundError。为什么它给我这个错误,我该如何解决它
【问题讨论】:
标签: java arraylist indexoutofboundsexception