在Java中从优先级队列中删除一系列元素

在Java中从优先级队列中删除一系列元素,java,Java,如何从按字符串值排序的优先级队列中删除一系列元素?(因此,例如,在字母表的优先级队列中,第一个元素是“a”,然后是“B”,依此类推,并且用户可能想要删除元素“M”到“Q”)。由于aPriorityQueue仅被部分排序,一系列值没有存储在一起,因此无法有效地删除。如果您需要按范围进行有效删除,则可能更适合使用不同的数据结构。例如,使用TreeSet,您可以执行以下操作: TreeSet<Whatever> set = ...; set.subset(from, to).removeA

如何从按字符串值排序的优先级队列中删除一系列元素?(因此,例如,在字母表的优先级队列中,第一个元素是“a”,然后是“B”,依此类推,并且用户可能想要删除元素“M”到“Q”)。

由于a
PriorityQueue
仅被部分排序,一系列值没有存储在一起,因此无法有效地删除。如果您需要按范围进行有效删除,则可能更适合使用不同的数据结构。例如,使用TreeSet,您可以执行以下操作:

TreeSet<Whatever> set = ...;
set.subset(from, to).removeAll();
TreeSet集=。。。;
set.subset(from,to).removeAll();

您好,您已经尝试过了吗?@YassinHajaj您好,我尝试过给字符串int值,然后在循环中删除它们,但这需要很长时间,所以我正在寻找更好的方法。如果您分享您迄今为止尝试过的内容(基本上是源代码),对我们来说,这样做更容易help@YassinHajaj不幸的是,我在一个小时前删除了它,无法用其他方法解决它。嗨,谢谢你的贡献!不幸的是,这是作业的一部分,我们不应该更改讲师定义的数据结构。