答案 0 :(得分:5)
这是因为Queue interface要求实现类以删除函数,Deque interface要求实现类以具有removeFirst函数,并且ArrayDeque实现Deque(双端队列),这是Queue接口的扩展版本。因此,ArrayDeque必须实现两个接口的功能。 在我看来,出于清晰的原因,removeFirst函数存在,因为remove函数在名称方面会有些模糊。
答案 1 :(得分:3)
它们由不同的接口定义。
Queue.remove()在Java 5.0中定义并删除队列的“next”元素。
Deque.removefirst()在Java 6中定义,它删除了双端队列的第一个元素。它类似于removeLast();
在ArrayDeque中实现它们的方式是next的remove()实际上与removeFirst()相同。
如果您想知道使用哪一个,我建议使用您最喜欢的那个。