如何更换Java中Deque的堆栈?

问题描述 投票:0回答:1
Sonarqube告诉我要取代我的堆栈。堆栈似乎是一种传统数据结构,由于其实现同步的方式,可能会带来一些性能问题。

,但是,只需替换堆栈即可进行Deque和Fixing方法调用,并没有为我削减它。似乎Deque具有不同的行为,并且不是堆栈模式的直接实现,因为我进行替换后我的单位测试失败了。

取代Deque的堆栈的正确方法是什么?

表示,Deque本身并不是堆栈实现。 Deque是“双端队列”的缩写,因此可以将其用作队列(FIFO)和堆栈(LIFO)。因此,要获得所需的堆栈行为,您必须以特定方式使用数据结构。

使用以下方法替换来使您的deque上堆栈般的行为:
java
1个回答
0
投票

堆栈方法
等效的Deque方法push(e)
addFirst(e)

pop()
removeFirst()

peek()
peekFirst()


这些替代品,有一些警告:
确保将元素推到deque之前,请确保该元素不是
null

  • 穿越deque时,请确保使用

    null

    以所需顺序(lifo)获取元素。
    
    Reference:
    Https://docs.oracle.com/javase/8/docs/api/java/java/java/util/deque.html
    
        

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.