如果有LinkedList,为什么我们需要PriorityQueue。我可以使用LinkedList对队列进行排序,而不是使用PriorityQueue。 e.g。
Queue list = new PriorityQueue();
list.add("1");
list.add("3");
list.add("2");
while(list.size() > 0) {
String s = list.poll().toString();
System.out.println(s);
}
我相信这段代码的工作时间太长,因为每次添加元素都会对元素进行排序。 但如果我将使用下一个代码:
Queue list = new LinkedList();
list.add("1");
list.add("3");
list.add("2");
List lst = (List)list;
Collections.sort(lst);
while(list.size() > 0) {
String s = list.poll().toString();
System.out.println(s);
}
我认为此代码只会排序一次,使用PriorityQueue会更快。所以,在任何情况下,我可以在使用它之前对LinkedList进行一次排序,它会更快地运行。即使它在同一时间排序我并不真正需要PriorityQueue,我们真的不需要这个类。我错了吗?