我想使用ArrayList
来表示优先级队列。所以我想在ArrayList的特定位置添加项目。但是当我运行它时,系统告诉我
线程中的异常" main" java.lang.IndexOutOfBoundsException:索引: 10,大小:0。
public void enqueu(String s, int p) {
Queue.add(p,s);
}
public static void main(String[] args) {
PriorityQueue test= new PriorityQueue();
test.enqueu("x",10);
test.enqueu("Y",1);
test.enqueu("Z",3);
}
答案 0 :(得分:1)
我不认为你知道你在这里做了什么。你必须先清楚地定义一切。
public class Test {
public static void main(String[] args) {
Comparator<String> comparator = new StringLengthComparator();
PriorityQueue<String> queue = new PriorityQueue<String>(10, comparator);
queue.add("short");
queue.add("very long indeed");
queue.add("medium");
while (queue.size() != 0)
{
System.out.println(queue.remove());
}
}
}