10-其他说明
其他说明
LinkedBlockingDeque 类也提供了其他增删元素的方法,它们通过抛出异常或者直接返回 null 值来代替阻塞行为。这些方法如下所示。
takeFirst()和takeLast():这些方法分别返回双端队列中的第一个和最后一个元素。同时它们会移除队列中已经返回的元素。如果队列是空的,则它们会阻塞线程直到队列中有元素时为止。getFirst()和getLast():这些方法分别返回双端队列中的第一个和最后一个元素。但它们不会移除队列中已经返回的元素。如果队列是空的,则它们会抛出一个NoSuchElementException异常。peek()、peekFirst()和peekLast():peekFirst()和peekLast()方法分别返回队列中的第一个和最后一个元素。但它们不会移除队列中已经返回的元素。如果队列是空的,则它们会返回null值。poll()、pollFirst()和pollLast():pollFirst()和pollLast()方法分别返回队列中的第一个和最后一个元素。同时它们会移除队列中已经返回的元素。如果队列是空的,则它们会返回null值。add()、addFirst()和addLast():addFirst()和addLast()方法会分别添加一个元素到队头和队尾。如果双端队列是满的(在创建队列的时候指定了队列的长度),则它们会抛出一个IllegalStateException异常。