在Java中用于LinkedList对象的poll(),pollFirst(),pollLast(),removeFir



我有一个LinkedList对象。

我想在我的LinkedList对象上应用这5个方法。

LinkedList<String> ll = new LinkedList<String>();
1) Object o = ll.poll();
2) Object o = ll.pollFirst();
3) Object o = ll.pollLast();
4) ll.remove();
5) Object o = ll.removeFirst();

当我使用poll(),pollFirst(),removeFirst()时,它们正在删除列表的第一项。

谁能告诉我当我在LinkedList对象上使用这些方法时会发生什么?以及这5种方法在LinkedList对象上的区别。

Javadoc告诉你:

poll():检索并删除这个队列所代表的队列的头部(换句话说,这个队列的第一个元素),或者如果这个队列为空则返回null。

remove():返回列表的头部,如果列表为空则抛出NoSuchElementException

pollFirst()与poll()相同。

pollLast()返回列表的最后一个元素,如果列表为空则返回null

removeFirst()与remove()相同

我认为方法的命名很明显地告诉了他们做什么。

唯一令人困惑的是为什么两个方法在poll()和pollFirst()中做同样的事情。请参见下面-

LinkedList实现了两个接口——Queue和Deque。Deque继承自Queue。现在,Deque已经定义了方法deque# pollFirst()并继承了方法queu# poll()。因此,LinkedList基本上为它实现的两个接口定义了这两个方法。

最新更新