繁体   English   中英

Java:LinkedList类作为堆栈和队列

[英]Java: LinkedList class as stack and queues

我是LinkedList类的新手,并且在如何使用它以实现或实例化堆栈和队列对象方面面临困难。 我不是在寻找一段自行实现的代码。

我想知道我们如何将这个类用作堆栈和队列,并且可以使用已经定义的方法:pop,push,enqueue和dequeue或top(在堆栈的情况下)。

队列

LinkedList已经是一个队列,因为它实现了Queue接口(并自己检查Javadoc )。 因此它具有以下队列操作:

排队:

add() - Appends the specified element to the end of this list.

出队:

remove() - Retrieves and removes the head (first element) of this list.

使用LinkedList作为堆栈也很容易,因为它有一个方法removeLast() ,它可以从列表的末尾删除一个项目(而不是start, remove()

推:

add() - Appends the specified element to the end of this list.

流行:

removeLast() - Removes and returns the last element from this list.

始终从列表末尾追加和删除模拟堆栈,该堆栈是FIFO(先进先出)数据结构。

如果您查看已实现的接口,则LinkedList是队列的插入式实现。

Stack不是java中的接口,而是一个类。 LinkedList不包含peek()empty()search()方法,因此它不是一个完全成熟的堆栈。 不过,它可能很有用。

我知道这是一个老帖子,但它咬了我一下。 但我也提醒更换Stack。 虽然像LinkedList这样的一些提供了push,pop和peak - 但是这些项目以不同的顺序放在列表中。 LinkedList在前端工作,Stack在后面工作。 因此,如果迭代列表,它们将被颠倒。 所以要小心......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM