Java的LinkedList/Deque中add/offer/

2023-04-25  本文已影响0人  PENG先森_晓宇

最近在使用LinkedList/Deque的时候,发现其中有很多类似的方法,我就想简简单单做个添加/删除的操作,发现竟然有那么多类似的方法,比如“添加”操作可以用的方法有:add/offer/push/offerFirst/offerLast,“删除”操作可以用的方法有:remove/pop/poll/pollFirst/pollLast

经过一番学习和测试以后,得出以下结论:这些方法从设计之初,分别来自于集合Collections,队列Queue,栈Stack,双端队列Deque,因此它们是有语义的,不建议笼统归为添加/删除。

关注圈住的部分,接口Deque继承了以上所有的方法,而类LinkedList实现了以上所有的方法。
注:由于历史原因,在Java中,官方不建议使用Stack类,而是使用Deque代替,也就是说,接口Deque是栈和双端队列这两种数据结构的集合体。
说了这么多,这一堆方法到底有什么区别?其实从他们的出处便可以快速区分并且牢记他们的不同之处。

转发:Java的LinkedList/Deque中add/offer/push

上一篇下一篇

猜你喜欢

热点阅读