1. 首先,Queue是队列,而Deque是双端队列,Deque继承了Queue。Queue支持先进先出(队尾进队首出),而Deque的队首和队尾均支持进出操作。
2. 方法上的对比
功能 | Queue | Deque |
---|---|---|
添加(有异常) | add | add / addFirst / addLast |
添加(无异常) | offer | offer / offerFirst / offerLast |
移除(有异常) | remove | remove / removeFirst / removeLast |
移除(无异常) | poll | poll / pollFirst / pollLast |
返回队首(有异常) | element | element / getFirst / getLast |
返回队首(无异常) | peek | peek / peekFirst / peekLast |
基本操作如上表所示,其中有异常即会抛出异常,无异常往往返回值为null/true/false;First即在队首操作,Last即在队尾操作,默认操作队尾进队首出(先进先出)。详细可见查阅JDK。