A
linkedList是最糟糕的选择。要么使用
ArrayList(或更一般地说,是一个
RandomAccess实现者),要么
PriorityQueue。如果确实使用列表,则仅在遍历列表内容之前对其进行排序,而不是在每次插入之后对其进行排序。
有一点要注意的是,
PriorityQueue迭代器 不 提供顺序的元素; 您实际上必须删除元素(清空队列)以按顺序遍历其元素。

A
linkedList是最糟糕的选择。要么使用
ArrayList(或更一般地说,是一个
RandomAccess实现者),要么
PriorityQueue。如果确实使用列表,则仅在遍历列表内容之前对其进行排序,而不是在每次插入之后对其进行排序。
有一点要注意的是,
PriorityQueue迭代器 不 提供顺序的元素; 您实际上必须删除元素(清空队列)以按顺序遍历其元素。